わかりました｡
という気持ちはわかります｡
考えているんだろう､ アンドレ｡
何を言っているのかさっぱりわからない｡
機械学習とは？
本当に何も教えてくれないんですね｡
応募するものがないんです｡
さて､ ここで機械やコンピュータの話に戻りますが､ 機械は言葉を理解することはできません｡
そうですね｡
もし私が自分のコンピューターに､ ねえ､ これって蛇？
これってパイソン？
私のパソコンでは､ 何のことだかわからなくなりそうです｡
蛇の画像を見ると､ それが何色であろうと､ アニメであろうと実写であろうと､
違う動物が出てくる方向であろうと､ すぐに蛇だとわかるんです｡
私たちの脳は､ ただ知っているだけなのです｡
しかし､ 私のコンピュータに蛇が何であるかを伝えるために｡
ほとんど不可能でしょう？
いろいろな要素がありますから｡
蛇には足も腕もないけれど｡
飛行機には足や腕がありません｡
蛇には鱗がありますが､ では鱗とは何かというと､ コンピュータが聞いてきます｡
しかし､ 機械学習を使えば､ 実際にコンピュータにヘビが何であるかを教えることができますし､ 少なくとも知っているように見せかけることができるのです｡
では､ どうすればいいのか｡
さて､ この図､ 覚えていらっしゃいますでしょうか｡
それは､ 単純にプログラミングでやっていることなんです｡
つまり､ 入力､ 例えば1､ 2､ 3のリストを与えて､ それを関数に渡すと､ 2､ 4､
6という出力があるのです｡
つまり､ この関数は明らかにリスト内の項目を2倍しているのです｡
そして､ 多くの場合､ 私たちのプログラムは手続き的なものです｡
つまり､ もしこうならこうしてくれ､ こうならこうしてくれと､ コンピュータに指示を出すのです｡
私たちはプログラマーとしてインプットを書きます｡
コンピュータが行うのは､ 入力と関数を使った計算と出力だけです｡
この考えを変えるのが機械学習です｡
入力と出力を教えてください」と言うのです｡
つまり､ 持っているデータを全部出せということです｡
ついでに､ 答えというか､ 欲しい出力も教えてください｡
つまりこの場合､ 入力は1､ 2､ 3のリストで､ 出力は2､ 4､ 6のリストにしたいのです｡
それから､ 面白いのは､ 開発者として､ このインプットとアウトプットをすることです｡
しかし､ 機械学習では､ 「おい､ 機械よ､ この機能が何であるかを解明してくれ」と言います｡
例えば､ ヘビの写真や動物の写真をリストにして､ この画像にはヘビがいるのかいないのか､ あるいは100枚の画像のうちどれにヘビがいるのか､
教えてほしいとします｡
まあ､ どうすればいいのかわからないけど｡
だから､ その代わりに自分で考えるんです｡
すべての写真を紹介します｡
そして､ 私が期待する出力は次のとおりです｡
スネークかそうでないかのどちらかです｡
スネーク
そして､ 機械学習では､ その機能は機械が生成､ 作成します｡
とてもクールな響きですね｡
そして､ これが機械学習です｡
単なる機能です｡
つまり､ これまでの機械学習のように私たちが関数を書くのではなく､ 機械が関数を書いてくれるのです｡
入力と出力を与えるだけで､ 言葉の関数がモデルに置き換わるのです｡
機械学習モデルという言葉を聞いたことがあるかもしれません｡
それがモデルというものです｡
入力を受け取り､ 出力を返す関数です｡
別の言葉で言えば､ アルゴリズム､ 機械学習アルゴリズム､ 機械学習ボットかもしれません｡
そして､ 最後は脳です｡
この機械は､ 入力を理解して望ましい出力をする脳であるかのように装っているのです｡
さて､ この副次的な効果として興味深いのは､ 機械学習モデルについて語るとき､ これらの関数は本当に理解しにくいということです｡
なぜなら､ コンピュータがこの関数を考え出すのは人間なので､ その仕組みを本当に理解するのは難しいからです｡
そして､ これらのモデルがどんどん複雑になればなるほど､ 開発者である私たちがその仕組みを理解することは難しくなっていきます｡
いろいろと問題はありますが､ 今はその必要はないでしょう｡
このように､ この機械を訓練する､ この機能を作るためには､ データを与えなければならない､ というのが主な部分です｡
そして､ 本当に良いものにするためには､ たくさんのデータを与えなければなりません｡
そして､ 入力したデータが正しく出力されることを確認するためのテストを行いたいと思います｡
つまり､ 結局のところ､ 機械学習とは､ 入力と出力をもとにコンピュータが自分で関数を書いているに過ぎないのです｡
なかなかいいじゃないですか｡
次の動画でお会いしましょう｡
バイバイ｡