ディープラーニング入門演習(全8回)
資料(動画,スライド)
第1回. ニューラルネットワーク
機械学習は,コンピュータがデータを使用して学習し知的能力を向上させる技術で,データからパターンや関係性を自動で発見する。 入力と正解の組(例:手書き数字画像と数字ラベル)を訓練データとして用いる方式を教師あり学習と呼び,他に教師なし学習や強化学習がある。 ニューラルネットワークは,各ニューロンで入力の重みづけ,合計とバイアスの加算,活性化関数の適用を行い,入力層から出力層へ順伝播する。 その学習は予測と正解の誤差を小さくする最適化であり,バックプロパゲーションにより各層の重みとバイアスを更新する。
スライド資料
[PDF], [パワーポイント] (同じ内容, クリックしてダウンロード)
動画
画面が英語で読みにくい場合は、以下の手順でページ全体を日本語に翻訳できる。 手順A:ページ上の文字のない場所(余白)を右クリックする。 手順B:表示されたメニューから「日本語に翻訳」を選ぶ。 手順C:ページ全体が日本語に切り替わる。元の英語に戻したい場合は、アドレスバー右側に表示される翻訳アイコン(丸の中にGの形)をクリックし、「英語」を選ぶ。 注意:Googleの翻訳では、専門用語や固有名詞が不自然な日本語になる場合がある。意味が分かりにくい箇所は、元の英語表示に戻して確認するとよい。 Quick, Draw! は,Googleが公開する機械学習の体験サイトであり,登録不要で利用可能である.ユーザが描いた絵を,ニューラルネットワークがリアルタイムで分類する.本演習では,機械学習が持つ知的能力(分類,認識)を体験することを目的とする. Quick, Draw! のサイト:https://quickdraw.withgoogle.com/ 操作手順 Quick, Draw! のサイト:https://quickdraw.withgoogle.com/ ヒント 考察ポイント Neural Network Playground は,カリフォルニア大学サンディエゴ校(UCSD)のCCoMが公開するWebサイトであり,登録不要で利用可能である.ニューラルネットワークの最小構成を体験できる.ニューロンの数を1個から変化させながら,分類の境目の形状がどのように変化するかを観察できる.本演習では,「ニューラルネットワークは,ニューロンがネットワークを形成する」という仕組みを,最小構成で確認することを目的とする. Neural Network Playground:https://www.ccom.ucsd.edu/~cdeotte/programs/neuralnetwork.html 注意:本サイトは英語で表示される.操作要素はスライダーとボタンのみであり,英語が不得意でも操作に支障はない. 操作手順 Neural Network Playground:https://www.ccom.ucsd.edu/~cdeotte/programs/neuralnetwork.html ヒント 考察ポイント A Machine Learning Playground(Scienxlab版)は,ニューラルネットワークの学習過程を対話的に可視化するWebサイトであり,登録不要で利用可能である.ニューロンの数,活性化関数,学習の速さなどを変更して,学習をリアルタイムに実行できる.本演習では,「入力の重みづけ,合計とバイアス,活性化関数の適用」「ニューラルネットワークのパラメータ(重みやバイアス)を最適化する」という仕組みを総合的に体験する. A Machine Learning Playground:https://playground.scienxlab.org/ 本サイトは,Googleが公開する TensorFlow Playground(https://playground.tensorflow.org/)の拡張版である.UIと基本操作は原版と同一であり,活性化関数の種類と利用できるデータの追加などの拡張が施されている.他の教材や書籍で「TensorFlow Playground」という名称に出会った際は,同系統のツールである.原版も同じ操作方法で利用できる. 事前準備:演習②を先に体験しておくと理解しやすい. 注意:本サイトは英語で表示される.操作要素は主にボタンとドロップダウンメニューであり,英語が不得意でも直感的に操作できる. 操作手順 A Machine Learning Playground:https://playground.scienxlab.org/ ヒント 考察ポイント
スライド資料と演習手順の資料は,https://www.kkaneko.jp/mi/index.html で,各回の授業開始時刻までに掲載します。
セレッソのコースニュースで授業に関するお知らせを配信します。また,小テスト機能で課題を出します。あわせて確認してください。
本科目の資料は,以下の2種類で構成されています。
[動画]
[演習の詳細を表示するには、この行をクリックしてください]
Chromeブラウザの翻訳機能の使い方
演習① Quick, Draw! の体験
カヌー)が表示される.「OK」をクリックして開始する.
演習② Neural Network Playground の体験
H=9 と表示されたスライダーを確認する.H は,ネットワーク内部のニューロンの数を表す.H=1)まで動かす.ニューロンが1個のみとなり,分類の境目が直線1本になることを観察する.H=2,H=3,H=4 と増やしていく.分類の境目が,直線の組み合わせから複雑な形状に変化していく様子を観察する.H=9)まで動かす.赤と青の点の配置にもよるが、曲線的で複雑な分類の境目が形成されることを観察する.
H=1)と,多くした場合(H=9)とで,それぞれ,どのようなデータが正しく分類できるかを考察する.演習③ A Machine Learning Playground の体験
dn-2. ニューラルネットワークの学習不足と過学習
ニューラルネットワークの学習不足と過学習:[PDF], [パワーポイント], [HTML]
- テーマ名:人工知能による画像分類,過学習
- 内容:ニューラルネットワークによる画像分類、学習曲線(学習と検証のそれぞれでの精度)見て過学習を判断
- 事前準備:各自で Google アカウントを取得しておくこと
Google アカウントの作成手順は、次の動画でも説明している. https://www.youtube.com/watch?v=Wx04o8U1w7c
- 基礎:学習曲線、過学習、過学習を緩和する技術
- 演習で行うこと:学習曲線の考察、過学習を緩和する技術の確認
- 演習手順
次の URL を使用
dn-3. ニューラルネットワークによる画像分類でのデータ拡張
資料:dn-3. ニューラルネットワークによる画像分類でのデータ拡張 [PDF], [パワーポイント], [HTML]
https://www.tensorflow.org/tutorials/images/classification
dn-4. TensorFlow の転移学習のデモ
資料: dn-4. TensorFlow の転移学習のデモ [PDF], [パワーポイント], [HTML]
https://www.tensorflow.org/tutorials/images/transfer_learning_with_hub
dn-5. 顔情報処理(Dlib,InsightFace を使用)
資料: 顔情報処理(Dlib,InsightFace を使用) [PDF], [パワーポイント], [HTML]
- テーマ名:顔識別、顔認証
- 内容:Dlibを用いた顔識別、顔認証
- 事前準備:各自で Google アカウントを取得しておくこと
Google アカウントの作成手順は、次の動画でも説明している. https://www.youtube.com/watch?v=Wx04o8U1w7c
- 基礎:顔識別、データのデータ拡張、顔のランドマーク、顔の特徴ベクトル、顔認証
- 演習で行うこと:顔のランドマーク、顔認証などを動作させる
- 演習手順
次の URL を使用
実験2: https://colab.research.google.com/drive/13fXJ4f2dF-53YI_6i_rAJl17cuYuLE91#scrollTo=PAJ9H2QqRa
dn-6. 3次元データベース,写真からの3次元再構成(Meshroom を使用)
資料: 3次元データベース,写真からの3次元再構成(写真測量)(Meshroom を使用) [PDF], [パワーポイント], [HTML]
- テーマ名:3次元データベース,写真からの3次元再構成(写真測量)
- 内容:写真をもとに、立体再構成(写真測量)を行う。
- 事前準備:NVIDIA GPU 搭載のパソコンが必要である
- 基礎:画像の特徴点、Structure from Motion 技術
- 演習で行うこと:写真をもとに、立体再構成(写真測量)を行う。
- 演習手順
公開されている次のソフトウェアを使用(利用条件等は,利用者で確認すること)
Meshroom: https://alicevision.org/
MeshLab: https://www.meshlab.net/
使用できる写真のデータ https://www.kkaneko.jp/sample/potato/potato_image.zip
dn-7. TenforFlow のスタイル変換のデモ
資料: TensorFlow のスタイル変換のデモ(TensorFlow, Keras を使用) [PDF], [パワーポイント], [HTML]
- テーマ名:TensorFlow のスタイル変換のデモ
- 内容:スタイル変換について、Pythonプログラムを実行し結果を見てみる。
- 事前準備:各自で Google アカウントを取得しておくこと
Google アカウントの作成手順は、次の動画でも説明している. https://www.youtube.com/watch?v=Wx04o8U1w7c
- 演習手順
次の URL を使用
dn-8. TenforFlow のDCGAN のデモ
資料: TensorFlow の DCGAN のデモ(TensorFlow, Keras を使用) [PDF], [パワーポイント], [HTML]
- テーマ名:TensorFlow の DCGAN のデモ
- 内容:DCGAN について、Pythonプログラムを実行し結果を見てみる。
- 事前準備:各自で Google アカウントを取得しておくこと
Google アカウントの作成手順は、次の動画でも説明している. https://www.youtube.com/watch?v=Wx04o8U1w7c
- 演習手順
次の URL を使用