DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類...

32
DIGITSを用いて、 深層学習を実感しよう 2019.12.9 王志辰・孟林

Transcript of DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類...

Page 1: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

DIGITSを用いて、深層学習を実感しよう

2019.12.9

王志辰・孟林

Page 2: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

学習と機械学習•学習知識の蓄積と技能の学習を行うことにより、外部環境を適合する。この過程は、学習である夏-> 熱い、スイカ30°を超える->熱中症防止

•機械学習機械、すなわち、コンピュータプログラムが学習を行い、それにより、外部環境を適合する

Page 3: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

機械学習の手法

•ビックデータ(big data)---テクストマニング(text Mining)

•進化的計算(evolutional computation)生物の進化から着想した幾何学習手法

•ニューラルネットワーク(Artificial NeuralNetwork: ANN)

Page 4: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

機械学習の分類(学習方法に基づく)•教師あり学習事前にそれぞれの事例に、正解を与える

•教師なし学習事前に正解不正解を与えることがなく、与えるデータを機械学習システム自身が判断することを学んでいく

•強化学習• 学習対象の個々の事例の正解不正解は教えません。複数の事例に対応した出力を強化学習システムが答えると、最終的な判定として、それらの出力系列が良かったか悪かったを知ることができる。強化学習では、こうした最後の結果評価に従って学習を進めることができます

Page 5: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

機械学習:教師のあり学習

•教師あり学習

•教師なし学習

•強化学習:ゲーム、将棋など

データ 答え

データ

Page 6: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

作成内容

•トレーニングデータ(Training data )•バリデーションデータ(Validation dataset)

•テストデータ作成(Test data)•モデル(model)

•学習•テスト

Page 7: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

認識の流れ

拓本テンプレートデータベース

古代拓本文献

類似度計算

認識結果

文字領域のセグメンテーション

ノイズ除去

正規化

特徴抽出特徴抽出

古代拓本文献

文字領域のセグメンテーション

データ拡張

古代拓本文献

文字領域のセグメンテーション

パラメータの更新

認識結果

畳み込み層

プーリング層

畳み込み層

全結合層

・・・・・

全結合層

画像処理を用いた画像認識 深層学習を用いた画像認識

学習 認識

7

Page 8: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

CNNを用いた認識:AlexNet

8

• 元々1000クラス分類に使用

• 畳み込み層5層、全結合層3層

• 全結合層にドロップアウトを設定して、過学習を緩和

AlexNet

227

227

プレゼンター
プレゼンテーションのノート
CNNを用いた甲骨文字認識では、Alexnetを用います。 alexnetは、元々1000クラスの一般物体認識で使用された,5層の特徴抽出と3層の分類からなる計8層のCNNです。 また全結合層にドロップアウトを設定することで、未学習画像の認識率が低くなる過学習とよばれる現象を緩和します。 ドロップアウトは、
Page 9: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

DIGITS-4.0のアイコンをクリックする

初めて利用する時:ログインが必要①Loginをクリックする

②自分のUsernameを入力する

③Submitをクリックする

Page 10: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

ホームページ(ログインした状態)

トレーニングデータセットの作成(1)

①New DatasetのImagesをクリックする

②Classification(画像分類)を選択する

Page 11: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

トレーニングデータセットの作成(2)

①Image Type(color orGrayscale)を選択し、Image size( 元画像のサイズ)を入力し、ResizeTransformationを 選 択 す る(See exampleで例がある)

②Training Imagesでトレニンーグ画像のリンクを入力する(次のページに参照する)%for validation(検証データの比率)は状況によって調整できるし、他のところはデフォルトで良い

③DB backendはデフォルトで良くて、Image Encoding(PNGまたはJPEG)を選択し、Dataset Nameを入力する

④ Createをクリックし、トレーニングデータセットを作成する

Page 12: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

今回のデータセット:4種類の魚の画像(毎種類3600枚で、画像サイズは227x227)

その中、毎種類画像の3060枚をトレニンーグ画像(検証データも含め )として、残り540枚をテスト画像とする

データセットのリン ク は 、 フ ォ ルダーを右クリックし、プロパティでコピーできる

Page 13: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

作成したトレーニングデータセット (1)

Page 14: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

作成したトレーニングデータセット (2)

Page 15: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

作成したトレーニングデータセット (3)

Page 16: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

手順はトレニンーグセットの時と大体同じだが、テストデータセットを作成する時、検証データの比率は必ず0に設定する

テストデータセットの作成

Page 17: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

前と同じで、フォルダーのプロパティでテストデータセットのリンクをコピーできる

Page 18: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

作成したテストデータセット (1)

Page 19: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

作成したテストデータセット (2)

Page 20: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

作成したテストデータセット (3)

Testファイルの作成のために、テストデータセットのtrain.txtをクリックする

Page 21: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

train.txtの中身

最後の0はラベルで、画像の種類を示す

Page 22: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

train.txtの内容を全部testファイルにコピーし、保存する

Page 23: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

モデルの訓練(1)

①New ModelのImagesをクリックする

②Classification(画像分類)を選択する

Page 24: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

モデルの訓練(2)①作成したトレーニングデータセットを選択する

②各種パラメータしばらくデフォルト

Page 25: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

モデルの訓練(3)

②GPUの選択:利用できるGPUを全部選択する

③ModelNameを入力する

④Createをクリックし、モデル作成する

①訓練したいネットワークを選択する(ここでGoogLeNetを選択する)

Page 26: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

訓練済みのモデル(1)

Page 27: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

訓練済みのモデル(2)

Page 28: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

訓練済みのモデル(3)

Test a list of imagesのUpload Image Listで、Browseをクリックし、この前保存したtestファイルを選択する

Page 29: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

テスト結果(1)

全体的な識別率

各種類の識別率

Page 30: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

テスト結果(2)

各テスト画像の識別結果

Page 31: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

注意点:データセットを削除する前に、対応するモデルを削除する必要がある(しなければこのようなエラーが出る)

Page 32: DIGITSを用いて、 深層学習を実感しよう · 機械学習の分類 (学習方法に基づく) ... 正規化. 特徴抽出. 特徴 ... プーリング層. 畳み込み層.

課題•テーマを見つかった、GoogLeNet, AlexNet, LeNetを用いて分類を行いましょう•可能であれば、文字の分類•表情の分類(企業との共同研究)