機械学習の基礎
では、録画できてるっぽいので、これでいきましょうかね。
はい。本のやつ読んできて、ちょっとまだ読んだだけで。
今日スマホなので、これをちょっとビデオを。
私の方でも手元で見ますんで、何ページですよっていうところをシェアしていただければ、それでいけますよ。
はい、わかりました。ありがとうございます。本当に4ページ、まだどこまでいかないですか。
じゃあ、一応、書籍名は何ですか。
AIアートの新時代。
はい、わかりました。
本当に音読とは言わないんですけど、それに近い感じになっちゃうんですけど。
一番最初は機械学習入門という章になりまして、1.1機械学習とはというところからです。
画像生成を見ていくのですが、これは機械学習の応用ですというのが書かれております。
機械学習の例というのは身近にありまして、例えばオンライン広告だったり、他は顔認証、自動運転、
あとはスマートスピーカーだったり、最近でもないんですけど、チャットGPTだったり、
あとは検索エンジン、機械翻訳、文書のほうでも使われているのが機械学習になります。
一般的にはこれら全部をニュースとかではAIって括られているんですけども、
AIと機械学習には違いというか範囲の違いがありますというのが1.2機械学習とAIの違いに軽く書かれています。
図1.1に書いているのを説明するんですけども、広い範囲でAI、その中に機械学習がありまして、
その機械学習の中にディープラーニングが入っているという括りになっております。
本当に全然知識がなくて初めて聞いた単語としまして、
ここに書いているのが2023年、現在スターウォーズに出てくるC3POだったりというロボットの自動な機械というのはまだ不可能なんですけれども、
自動運転の開発やGPTの技術進歩によって、人間と同等の知的作業ができる汎用人工知能、過去AGIという単語を初めて知ったんですけども、
そういうものの可能性が見えてきていると書かれております。
ここの章はこれぐらいでして、次が1.3の機械学習の定義と種類なんですけども、
ここに書いてあるのが多分すごい有名なトム・ミッチェルの定義というのが有名らしいです。
これの定義でタスクT、パフォーマンスの指標P、経験Eという3つの要素が登場します。
これはあれですね、いろんな本の最初のハローワールドの機械学習のハローワールドとして使われていると書いているんですけども、
手書きの数字を認識するというタスクの制度向上の機械学習の定義で出てくるトム・ミッチェルの定義というらしいです。
この手書き数字の機械学習のお話なんですけども、
こちらは正解データが用意されている教師あるいは学習。
正解データがない機械学習のほうを教師なし学習という最初の最初の説明が書かれております。
現在実生活で使われているのは教師あり学習が主流だそうです。
この時点で教師ありと教師なしの性能どっちが出しやすいかというお話があったらしいんですけども、
GPTのような大規模な事前訓練積みモデルが登場して、
どっちかという話のそもそも傾向が変わっているらしいです。
なぜならチャットGPTに牛肉を使った料理を教えてくださいと言っても、
教師データを与えていない状態でも候補が出てきているという答えが出てくるらしいです。
なので様々なタスクにできる汎用モデルというのが主流になりつつありまして、
この教師ありなしの枠組みで説明しきれない新しいフレームワークが出てきて、
基盤モデルとトランスフォーマーの位置付け
これを基盤モデルと呼ぶと書いております。
基盤モデルの定義はわかりますかね?
ここの文章でいうと教師ありなしの枠組みで説明されないという…
さっくり言うと、そこの定義は私もいまいち厳密にはわかっていないんですけど、
よく言うのがそもそもチャットGPTのGPTですね。
何のアレーブだったかいまいちわからないですが、
いわばトランスフォーマーを使った言語処理系のモデルではあるんですけれども、
特徴としてはとにかく山ほど学習させるんですよ。
学習というかですね、正解データとかじゃなくて、
とりあえず大量のテキストをぶち込んであげてですね、
それでモデルを一旦作っておいてあげる。
要は人間が言語を理解するのと同じような感じ。
人間も子供の頃から何も正解わかっていない状態で、
大量の言葉を浴びせられて、なんとなくその言葉を学習しますけれども、
それに近くて、それこそWikipediaの全部の文章だとか、
Webにあるテキストの全部の文章、あらゆる文章ですね。
そういったものを入力して学ぶことで、
言葉というのはこういうものなんだっていうところを学ぶと。
なので、例えばある文章が途中まで与えられたら、
そこの続きを推測することができるというような感じですね。
そういったのを集めたときは。
そういう意味で言語を扱う能力を得た上で、
さらに特定のタスクに向けてファンチューニングするというようなやり方ができるというところで、
そういう意味では基盤モデルというのが結構信じるようになってくると。
この基盤モデルが使えるというようになったのが、
与えるテキストとかデータの量が結構小さいと、
そこまでちゃんと覚えてくれないんですけども、
ある一定のところを覚えると、
アホみたいに性能が良くなるというようなところがあって、
ちょっと具体的にどういう言葉で定義されているかわからなかったですけども、
そういった壁みたいなのがあってですね。
そこが結構見つかったというのが、今回GPTだとか、
今おっしゃったGPTとか、
Googleアプリも触れてるんですけど、
そういったところに影響していくところではあるというような感じですね。
教師無し学習に近いような気がするんですけど、また確率と違う?
教師無し学習はそうですね。
例えば教師無し学習で言うと、
よくやるのが画像処理とかやってると、
例えばゲームインズとかやってたことがある。
ゲームインズで扱ったことありましたっけ?
はい。聞いたことあるんで、使ったような気がします。
ああいうところの場合だと、例えばデータがたくさん与えられます。
それをクラス数が何として指定されているような感じですよね。
いわゆるクラスタリングというようなタスクで、
例えばMNISTのデータであれば、
0,1,2,3,4,5,6,7,8,9というような10クラスがあるというところが分かっているので、
この与えられたデータを10のクラスに分けてくださいという風に、
そこだけ指定して、どれがどのクラスかというと、
この正解データは与えないと。
ただ、データを見ていると何となく特徴として、
マッピングしたときに何となく、
これは何か同じような感じだなというところが見えてくる。
要は例えば、1とかであれば直線が1個あるだけで丸みがあれば丸になりたい。
Oとかであれば丸いところだけで角張ったところがない。
みたいな感じの画像的な特徴から、何となく傾向が見えてくる。
そういうふうにライアンにマッピングしていくと、
島がたくさん出てくるので、
ここって線一線じゃね?みたいな感じで、
いい感じの境界線みたいなのが見えてくる。
それで境界線を自動で引くようなやつが、
ある意味教師学習で呼ばれているものの一般的なイメージになります。
そういった用途なんですよね。
タスクがあって、それに対してゴールだけは設定されていて、
あとは用紙内に書いてっていうのが用意しなくてはなくしているので、
さっき言った基盤モデルとは何となく雰囲気が違うのか分かりますかね。
やっぱり基盤モデルさっき言ったように、
本当に人みたいに言語不理解してるんじゃね?っていうような感じで、
まさにAIって感じなんですけども、
教師の学習はどっちかというと単純に統計的な分布の解析に近いようなイメージですよね。
そういったところが結構別の中かなと。
ちなみにありも教師なしもやっぱりいろんなバリエーションがあるので、
ちょうど今言った教師なしはクラスタリングの一般的なイメージを話したという感じです。
基盤モデルはゴールも与えないみたいな感じで。
基本的にGPTのベースでの話にはなりますけれども、
さっき言ったようにタスクとしてはテキストが途中まで与えられたときに、
次に一番来る単語は何かみたいな感じで推測するっていうのが、
基盤モデル、特に言語圏のやつの一番メジャーなイメージになります。
結局それだったら、どんなデータが来ても対応できますよ。
そこまでの流れを読んで次を予測するわけですから。
そういうふうに文章を作るという用途であれば何でも使えるので、
基本一番を述べるというような感じですね。
そういった感じでタスクも違いますけれども、
とりあえずイメージとしてはそういうふうに捉えていただけるといいかなと思うんですね。
この後の文章に基盤モデルの一例として、
クリップというのを紹介してくださるんですけれども、
いろんなモデルがあるっていうことですよ。
そうですね、文章もあれば。
基本的にクリップの構成はどうなんだとか、
一応いまいち忘れましたけれどもですね。
どっちもトランスフォーマーを使ってますよというようなところでして、
トランスフォーマーがまさにさっき言った、
ここまで入ってきたやつから次を推奨するという、
いわゆる言語系のAIモデルのエコースの進化版というふうに
ざっくり言っちゃうじゃないですけれども、みたいなものなのでですね。
まさにそういう意味で要素技術は同じだよぐらいに
データ処理と最新技術
ちょっと持っていていただければいいかなと思います。
わかりました。ありがとうございます。
続きまして、
1.4、ディープラーニングの特徴と位置付けって書いてるんですけども、
軽く触れると、今までは最初に情報でそのYイコールAXプラスBのような
単純な関係しか判定できなかったんですけども、
画像生成モデルであれば、
猫の画像を生成するためにいろんな要素があると思うんですけども、
それを考慮する必要がありまして、
今までの方法だったら本格的な画像を生成はできないですけども、
ディープラーニングで言うとうまくいけるっていうのが簡単に書かれています。
1.5がベクトルと行列とテンソルの説明なのでちょっと飛ばして、
ちょっとまたページに戻りたいと思います。
ベクトルと行列とテンソルの説明なのでちょっと飛ばして、
ちょっとまたページを飛ばしまして、
リポジトリとかGPAの環境構築で実際触れてみようという話なので、
ちょっとページを飛ばします。
1.9にCNNとトランスフォーマーのところまで飛ばしまして、
ここに書いているのが先ほどお話してくれたトランスフォーマーの話です。
2023年においては画像処理と自然言語処理の両方で
トランスフォーマーというモデルが主流となっております。
これは2017年に発表された自然言語処理の方のモデルで、
ChatGPTのGPTもトランスフォーマーを元にしているそうです。
これの特徴はモデルのスケーラビリティと表現力を高めつつ、
並列計算が可能な効率的な構造を持っているということです。
AIアートの基盤技術
詳細はこの後ほど説明してくれるそうです。
自然言語処理で大成功を収めたんですけども、
これが2017年に発表されて、
2020年に画像処理の分野にも適用されて、
ビジョントランスフォーマーモデルというのが広がったというそうです。
まだトランスフォーマーの詳しい説明のところまで読み進められていないので、
なんで自然言語処理が画像の方に応用できたのかというのは
まだ把握はしていないです。
1.91が画像処理と畳み込みフィルターのCNNについて触れています。
ここはあれですよね。
我々がやってきたことをそのままなんて。
カーネル処理の話なので、
すごい簡単に書いていることが理解できたというところです。
知っている知っているというやつ。
そうですね。エッジ検出だとか、エンボスフィルターだとか、
エッジ強調などが実際このカーネルでこんな画像になりますというのが
いくつか書いているというところになります。
飛ばして飛ばして。
トランスフォーマーのアテンション機構
アテンションの基本概念というところで、
こういうのがあるんだというのでちょっと止まっているというか、
そこまで読んだという感じです。
ありがとうございます。
トランスフォーマーにおける結構重要な構造がまさにアテンションですよという風な感じで
言われていまして、
結構有名な論文でアテンション is all you need という
2017年の論文がありまして、
たぶんGoogleだったかなというと、
ここがまさにアテンションスポーという風に呼ばれているものをですね、
発表されたやつになります。
この論文確かめちゃくちゃ有名なやつです。
このアテンションスポーってどういうものなのかなんですけれども、
私もだいぶ忘れてしまったので、
Vertex AIにちょっと聞いてみたいと思います。
なんかGeminiのやつが少しUI変わってますね。
なんかね、Geminiにちょっとアップデート入ったっぽいんですよね。
このメニューも少し変わってますし、
マルチモーダーを対応してますね。
画像をアップロードしてマルチモーダーに増やれるようになってますね。
結構便利ですね。
トランスフォーマーのアテンション
イコールで分かりやすく教えてみたいな感じかな。
まさにGeminiもトランスフォーマーでできてますけども、
そのトランスフォーマーにトランスフォーマーについて教えてもらいましょうと
トランスフォーマーモデルのアテンション機構ってなんぼやってるこれですが、
文章を理解を深める魔法の念頭というような感じで書かれていますよというところです。
ここで書いていますが、
いわゆる先ほどここまでの文章が来た時に次を予測しますよというようなのが
主にトランスフォーマーがやってることだよというような話しましたけども、
いわゆる言語を扱うAIモデル、
トランスフォーマー以前のやつもそういったタスクをやっていました。
結構一般的には先ほどCNNという画像処理におけるディープラーニングのモデルというのがありましたけども、
前とか別に言語を扱う場合は画像とはちょっと違うんで構造は別のRNNというやつがあります。
その場合どういう処理をするかって感じなんですけども、
画像の場合は二次元の画像があって、
そいつに対してパネルをどういうふうに適応しますかねみたいな感じなんですけれども、
言語の場合は最初があって終わりがあってみたいな感じで、
いわゆる一次元的に文章が書かれていくようなイメージになります。
なので基本的には文章を入力して、
その中でぐるぐるといろいろ回っていくんですけども、
基本的にはそのシーケンシャルに処理していくっていうようなイメージで、
最初に入ったらそいつが最初に出てくるみたいな感じなので、
その入力の文字を一個一個処理していくみたいなイメージを持っていただけるといいかなというふうに思います。
なので作業とかです。
それが従来的なやつで、ここでRNNが書いてましたけども、
私はリンゴを食べたみたいな感じで順々にやっていくっていう感じですね。
アテンションって一見どこら辺が違うのってところなんですが、
イメージでいうとLookup tableもしくは辞書みたいな感じかなっていうような感じで、
要は用表みたいな感じのイメージだと思ってください。
何が来たときに何か。
要は今私はリンゴを食べたみたいな感じで書いてますけども、
これ一個一個が文字系のAIに関してはですね、
この文字一個一個をある意味一つのIDみたいな感じで入力します。
なので、例えば10万種類の文字のデータがあってですね、
その10万種類のやつがどの順番に来るかっていうふうな形で
テキストっていうものを認識しているというイメージだと思ってください。
アテンションは何をやっているのか。
従来のRNNはそういった感じでですね、
第何番の文字、第何番の単語というか、
やつが来て過ぎに何番のやつが来てみたいな感じで、
そういうような異次元的なものですけども、
アテンションは基本的にはですね、
この文字一個一個をですね、
そういった記号的なものに伝えるってところは変わらないんですけれどもですね、
例えば10万パターンの種類で使ったときにですね、
その10万×10万のですね、
相関表を作るようなイメージだと思ってください。
なのでですね、
例えばこの私とですね、和の関係性みたいなところで言うとですね、
そこに対する相関スコアみたいなやつが出てくる、
それがお目その一旦ですね、
アテンションみたいな感じでですね、持っていただけるといいかと思います。
なのでざっくりイメージで言うとですね、
こいつとこいつのなんか関係性は近い、
こいつとこいつの関係性は遠いみたいな感じのところがですね、
全部理想として出てくるくらいの、
そういうかたざっくりとしたイメージで捉えていただけるとですね、
いいかと思います。
はい。
なのでそういったですね、
対応表みたいなのがですね、このアテンションだよっていうところかな。
ちょっとだいぶ時間がなってきましたけれどもですね、
どうしようかな。
ちょうどここら辺までやりました。
なのでアテンションもとりあえず対応表だよっていうところだけは
ちょっと覚えておいていただけるとですね、
今後の展望
いいかなというふうに思います。
というところですね。
はい。
そうですね。
やっていきましょう。
そうですね。
ちょっとこれの、
はい。
この本のちょっと読み込みはちょっと引き続きちょっとやっていきましょうかね。
はい。
一旦ちょっと今日はここまでというところで、
明日どうしましょうかね。
なんか特に決まってないですけれども。
そうですね。
決まってなかったら週間の確率みたいなのちょっと時間。
いいですね。
それでやってみましょうか。
ちょっと振り返って。
今の状況。
振り返って。
昔できた中になんでみたいな感じで。
ちょっと引いてもいいですね。
はい。
じゃあ明日はそんな感じでちょっとゆるゆるやっていきましょう。
はい。
じゃあ今日はありがとうございました。
はい。
また。
ありがとうございました。
はい。
よろしくお願いします。
はい。
じゃあ失礼いたします。
はい。失礼いたします。