
一般に使われるコンピュータープログラムと機械学習のプログラムとはどう違うのか、易しい解説で見ていきます。
小学校でも導入されるコーディングなしのプログラム作成ツールを紹介します。プログラムを組んだことのない人は、ここでプログラミングの概要を覚えます。
パソコンに詳しい人は、自動販売機のプログラム(zipファイル)を解凍して、スクラッチのサイトにアップロードして動かしてみましょう。
関係のあるデータから、予測値を出す方法を紹介します。経済学部でも習う回帰が、機械学習に役立っています。アイスクリーンムや気温という言葉を使ってわかりやすく説明します。
回帰分析の拡大版である分類問題について解説します。概要をつかめれば簡単です。
プログラミングなしの講座ですが、やはり実際にどう動いているのか見てみたいものです。ワインの分類データをサンプルに、Pythonのコードを走らせながらその実態をすこしだけのぞいてみましょう。
Google Colabを使うことができる人は、教材のzipファイルを解凍したあと、アップロードして動かしてみましょう。
(wine_data_classification.zip)
ニューラルネットワークというデュープラーニングの基本構造を紹介します。間違いやすい言葉を基本からしっかりと学んでいきましょう。
神経細胞のレベルで考案された人工モデルを紹介します。人工知能の歴史を伺うことができます。
ニューラルネットワークを構成する最小単位であるパーセプトロンを紹介します。専門書にも必ず登場するモデルです。
パーセプトロンでの処理を通過するときに値を変化させる処理です。言葉は難しそうですが、図で見るとわかりやすいです。
フレームワークでなにげなく設定している「バイアス」ですが、どんな意味があるのか見ていきます。
数学的な表現ですが、一本の直線で分けるという意味です。具体的に映像で見ていきましょう。
少し難しく見えますが、小学校2年生の算数で判定できます。
パーセプトロンを複数組み合わせたモデルを確認できます。
プログラミンに興味のある人は、チャレンジしてください。
(有料コース: XOR_NN.zip)
「導入編」でも紹介した数字の羅列から答えを予測する事例です。データサイエンスが少しだけ登場しますが、恐れずに言葉だけでも流して聞いておきましょう。
データサイエンスの基本の一つであるカテゴリーデータをわかりやすく説明しています。
訓練データを愚直に学習させると過剰適合という現象が起きます。過学習とも表現されます。実際の学習結果を見て、その内容を理解していきます。
過剰適合を避けるために、ドロップアウトという方法があります。一般的にはニューロンを削除して、学習させると言われていますが、その意味と効果を図で見ていきます。
ドロップアウトを実際の学習で確認していきます。
重み減衰による正則化も試してみます。
逆伝播の概要を視覚的に見ていきます。
高校1年で習う微分ですが、高校生でなくても理解できるように、なるべくわかりやすく説明しようと頑張りました。わからない部分があれば質問してみてください。
高校1年のときに、たった数分で習う微分の計算方法です。より詳しく知りたい人は見ていきましょう。
ニューラルネットワークの順伝播をかんたんな図でで書き表すことができます。数式いらずの優れものです。
微分が必要な逆伝播も、計算グラフでらくらく計算。一度使い出したら手放せません。
誤差逆伝播を実際に計算してみます。紙と鉛筆を用意して計算してみましょう。
ディープラーニングの原型であるディープニューラルネットワークの成り立ちを多層パーセプトロンと隠れ層で見ていきます。
ディープニューラルネットワークを具体的に紐といていき。いよいよディープラーニング前夜です。
画像認識といえば畳み込みです。ここではその概要をみていきます。
習うより慣れろ。まずはツールをダウンロードして、ディープラーニングが自動で学習した重みパラメータで体験してみましょう。
(hand_written_number.zip)
プログラマー必見の番外編です。世界的にシェアを広めるPyTorchというフレームワークを使って、学習方法を紹介します。
ディープラーニングの中では、フィルターというものを通過して画像の特徴を捉えていきます。そのフィルターについて、豊富な具体例を用いて詳しく解説します。
画像のディープラーニングといえば、この畳み込み処理です。フィルターと画像がどのように計算されるのか、ツールを使ってみていきます。
(Convolution.zip)
書籍でもあまり扱われていない畳み込みの逆伝播を、図を見ながら学習できます。数式で見ると大変難しそうな計算ですが、絵で見ると大変わかりやすいです。
フィルターとは違った、ディープラーニング必須の処理を紹介します。
(pooling.zip)
あなたなら、どう考えますか?
フレームワークや、サンプルコードを動かしただけの人は必ず疑問に思うところです。リアルタイムに変化するフィルターを見ていきましょう。実際のパラメーターと、レクチャーで使用したツールもダウンロードできます。学校や職場で利用してみてください。
転移学習の基本を畳み込みニューラルネットワークを使って説明します。転移学習とは、多くの畳み込み層を持つネットワークを学習させる際に利用されています。
転移学習用のツールを使って、学習済みのデータで予測してみます。Softmax関数での出力をグラフで見ることができます。
独自の手書き画像を学習用バッチデータとして学習させていきます。様々な画像を登録して学習させてみましょう。
転移学習用のツールの補足説明です。
レクチャー44から転移学習ツールをダウンロードして、転移学習を行ってみましょう。
独自に訓練させた画像をスクリーンショットを撮ってQ&Aにアップロードしてください。
理屈よりも感覚で。プログラムや難しい数式を使わないで、体感的で視覚的にディープラーニングを学んでいきます。このコースを終えたあとには、AI技術者とディープラーニングについてある程度の会話をすることができるようになっているはずです。プログラムまでやりたくない、数学まで勉強したくないという方にオススメです。一方ディープラーニングは初心者には易しく上級者には難しい技術なので、TensorFlowやChainerなどのサンプルプログラムを動かしたけれども何が起こっているのかよく理解できなかったという方にもお薦めします。機械学習、ディープラーニングのプログラミングのコースと並行して見ていくと、より理解が深まると思います。「つかめる」ディープラーニングにして欲しい、という要望に応えられるように構成しました。
このコースではビデオを見るだけでなく、実際にお手元のパソコンでその動きを体験できるようにプログラムコードを用意してあります。圧縮ファイルを解凍すれば、インストールすることなくブラウザ上で動きます。
※コース後半では、自作の手書き文字を人工知能に学習させることができるレクチャーも用意しています。ディープラーニングのすごさを体験してみてください。
Don't think! Just feel!
レクチャーではコーディングについての解説はありませんが、プログラムを動かせる方は是非、教材用のコードをダウンロードして動かしてみてください。ニューラルネットワークの動きを生で体験できます。教材用のコードのうち、オリジナルのコードについては質問を受け付けています。プログラム未経験の方はコードについて深く考えずに、おおまかな仕組みや具体的な計算の流れを見ていきましょう。
【BGMについて】
ビデオでは、環境音(ノイズ)を消すために小さなBGMを流しています。