学習

「学習」と一言で言われても具体的なところは分からない。

AIの学習ってどんなことなのって、ピンとこないかもしれない。

だから、学習を理解しやすいように単純な話にしてみようと思う。うまく行くと良いのだけど。


人が描かれてある絵を大量に集めたとする。そして一枚一枚見ていくと「この絵には人が描かれていて、人には指が5本ある」ということが分かる。これを数繰り返せば、「絵に描かれている人には、指が5本あると考えて良さそうだ」ということが学べると思う。学習というのは、このような行為だよね。この場合だと人の特徴として指が5本(もちろん、欠損がなければ全部で10本だけれど)あると学んでいるね。


コンピュータにとって絵というのは、色要素の重なったドット情報であったりして、人の見ているイメージとは違うものを見ているのだけど、これから何が学べるのかなって考えると、色の分布パターン(明るい肌色が多いとか)であったり、ドットの分布パターン(ベタで塗られてるとか)であったり、もっと細々とした、アンチエイリアシングのような特徴的なパターンであったり、もう人にはわからないような細かなパターンをいっぱい学べるのがAIだと思えばいいんじゃない。

この場合だと、描き方を学んでいる、と捉えれば良いよね。

拡散モデルだと、ノイズを付加した絵からノイズ除去させて元の絵に近づけるという反復過程で絵の特徴を学習しているよね。ノイズ除去の仕方を学んで絵を覚えるって面白いね。


ところで昔は、一枚絵からいきなり全体を学ぼうとして漠然とまとまりのない学習になっていたようだけれど、ある時から一定の範囲内での特徴を範囲を重ねるように大量に学習するようになったりして、進化して行ったんだよね。畳み込みネットワークとかね(興味があるなら調べようね)。この技術の登場で認識精度が上がったんだよ。アルファ碁にも使われているよね。


学んだことを活用して絵を描く場合だと、プロンプトに「人」と書いた場合は、ここら辺りは、このような感じの色の分布でドットの分布が多いから、この色のドットがあるのだろうと推論してドットを描く。点画みたいな感じなのかな。

もう少し細かく書くと、プロンプトに「拳を握った人」とすると、ここら辺りは、このような感じの色の分布でドットの分布が多いから、この色のドットがあるのだろうと推論してドットを描いていくと「拳」が出来上がる感じだね(ランダム要素が入っていると部分部分で色々なパターンを描いて見せるよね)。


言語モデルを知っている人なら想像できると思うけれど、概念レベルでの工夫も進んでいてね。要素を多次元解釈するだけでなく、アテンション機構(注意機構)が使用されていたりして、必要な個所に注意を向けて意味的に整った感じの絵が描けるようになっていたりもするんだよ。


注意してほしいのは、プロンプトに「人」だけを書くと、そのAIにとってありふれた人が描かれるけれど、もっと細かに指示を並べると、それぞれ個別の指示に合わせてAIがその要素を描いていくんだよ。つまり、細かく指示を与えるほど要求する側の要素が描かれていく。

適当な指示を与えて適当な絵が描かれるのは、人相手でも同じだよね。すべての要素を細かく指示すればするほどに、ありふれた物から遠ざかるんだね。

ただ、注意してほしいのだけど、絵についての細かい指示なんて言うほど簡単では無いんだよね。ある程度は任せるものだと思う。だけれど、そこで手を抜かずにユーザーが細かくコントロールすることは、著作権侵害リスクや炎上リスクなどを考えると重要なことだよね!


もう語るまでも無いと思うのだけど、生成AIの描く絵は、何かに似ていることがあったとしても、コピーでもコラージュでもないんだ。圧縮でも無い。

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る