15K1117 下窪 聖人 15K1013 坂本 倖輝 15K1112 黒川 晶太 15K1015 関根 修斗

Slides:



Advertisements
Similar presentations
図示、可視化モジュール ~ pylab と numpy を ちょっと~. pylab とは? ・数学や統計的なグラフを生成するモ ジュール ・インストール pip や easy install からのインストールを推奨 →numpy モジュールなどの前提としている。 Anaconda の場合は標準.
Advertisements

平成 27 年 10 月 21 日. 【応用課題 2-1 】 次のビット列は、ある 10 進数を 8 ビット固定小数点表示で表した時の ものです。ただし、小数点の位置は 3 ビット目と 4 ビット目の間としてお り、負数は2の補数で表しています。このとき、元の 10 進数を求めてく ださい。
ゲーム開発者向け最新技術論文の解説・実装講座
プログラムのパタン演習 解説.
ラベル付き区間グラフを列挙するBDDとその応用
C言語 配列 2016年 吉田研究室.
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
Pattern Recognition and Machine Learning 1.5 決定理論
「Self-Organizing Map 自己組織化マップ」 を説明するスライド
最適化ソルバーのための Python言語入門
「データ学習アルゴリズム」 第3章 複雑な学習モデル 3.1 関数近似モデル ….. … 3層パーセプトロン
上坂吉則 尾関和彦 文一総合出版 宮崎大輔2003年6月28日(土)
Bias2 - Variance - Noise 分解
条件式 (Conditional Expressions)
「データ学習アルゴリズム」 第2章 学習と統計的推測 報告者 佐々木 稔 2003年5月21日 2.1 データと学習
ML 演習 第 7 回 新井淳也、中村宇佑、前田俊行 2011/05/31.
第3章 補足:パラメータが極小値に収束する例
教師あり学習と ディープラーニング 金子邦彦.
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
第6章 カーネル法 修士2年 藤井 敬士.
二分探索木によるサーチ.
発表日:平成15年4月25日 担当者:時田 陽一 担当箇所:第3章 誤差評価に基づく学習 3.1 Widrow-Hoffの学習規則
システムモデルと伝達関数 1. インパルス応答と伝達関数 キーワード : 伝達関数、インパルス応答、 ステップ応答、ランプ応答
パターン認識とニューラルネットワーク 栗田多喜夫 2018/11/8 早稲田大学大学院理工学研究科講義.
情報処理3 第5回目講義         担当 鶴貝 達政 11/8/2018.
サポートベクターマシン によるパターン認識
Fuzzy c-Means法による クラスター分析に関する研究
PROGRAMMING IN HASKELL
決定木とランダムフォレスト 和田 俊和.
確率的学習アルゴリズムを用いた有限状態オートマトンの抽出に関する研究
人工知能を動かしてみる(Keras を用いたニューラルネットワークの定義,コンパイル,学習,評価,予測)
あらまし アンサンブル学習の大きな特徴として,多数決などで生徒を組み合わせることにより,単一の生徒では表現できない入出力関係を実現できることがあげられる.その意味で,教師が生徒のモデル空間内にない場合のアンサンブル学習の解析は非常に興味深い.そこで本研究では,教師がコミティマシンであり生徒が単純パーセプトロンである場合のアンサンブル学習を統計力学的なオンライン学習の枠組みで議論する.メトロポリス法により汎化誤差を計算した結果,ヘブ学習ではすべての生徒は教師中間層の中央に漸近すること,パーセプトロン学習では
第14章 モデルの結合 修士2年 山川佳洋.
確率的学習アルゴリズムを用いた有限状態オートマトンの抽出に関する研究
独立成分分析 5 アルゴリズムの安定性と効率 2007/10/24   名雪 勲.
前回の練習問題.
強化学習を用いたバックギャモンプレイヤーの生成 TD-Gammon
1-R-19 発話に不自由のある聴覚障害者の発話音声認識の検討
深層学習を用いた音声認識システム 工学部 電気電子工学科 白井研究室 T213069 林健吉.
Introduction to Soft Computing (第11回目)
決定木 Decision Tree DT 明治大学 理工学部 応用化学科 データ化学工学研究室 金子 弘昌.
Cプログラミング演習 第10回 二分探索木.
Data Clustering: A Review
バイトコードを単位とするJavaスライスシステムの試作
物体検出による視覚補助システム T215085 若松大仁 白井研究室.
顔特徴点移動量・点間距離変化量の組み合わせに基づく顔表情認識
Chapter5-2 その他の話題 15k1015 関根修斗.
ソフトウェア保守のための コードクローン情報検索ツール
Pp-10. Python の numpy Python を演習と実践で学ぶシリーズ 金子邦彦.
アルゴリズムとデータ構造 2011年7月8日課題の復習
「データ学習アルゴリズム」 第3章 複雑な学習モデル 報告者 佐々木 稔 2003年6月25日 3.1 関数近似モデル
DCGANを用いた 画像生成システム 電気電子工学科 T 山田 真司  白井研究室.
わかりやすいパターン認識 第7章:部分空間法  7.1 部分空間法の基本  7.2 CLAFIC法                  6月13日(金)                  大城 亜里沙.
アルゴリズムとデータ構造 第3章 ヒープ 5月31日分
アルゴリズムとデータ構造 第3章 ヒープ 5月31日分の復習
アルゴリズムとプログラミング (Algorithms and Programming)
手書き文字の自動認識アプリケーション 15K1013 坂本 倖輝
自己組織化マップ Self-Organizing Map SOM
「ICAによる顔画像特徴量抽出とSVMを用いた表情認識」
Pp-12. Python の numpy Python を演習と実践で学ぶシリーズ 金子邦彦.
ai-5. 人工知能の Python パッケージ TensorFlow と Keras の動作確認
モデル作成にクラスタリングを用いた視線認識
情報工学概論 (アルゴリズムとデータ構造)
誤差逆伝播法による ニューラルネットワーク (BackPropagation Neural Network, BPNN)
わかりやすいパターン認識 第3章 誤差評価に基づく学習 3.3 誤差逆伝播法.
「データ学習アルゴリズム」 第3章 複雑な学習モデル 報告者 佐々木 稔 2003年8月1日 3.2 競合学習
確率的フィルタリングを用いた アンサンブル学習の統計力学 三好 誠司 岡田 真人 神 戸 高 専 東 大, 理 研
ニューラルネットワークの仕組み (Raspberry PI 演習で学ぶ) AI DATA VASSEL 資料
PROGRAMMING IN HASKELL
確率的フィルタリングを用いた アンサンブル学習の統計力学 三好 誠司 岡田 真人 神 戸 高 専 東 大, 理 研
Presentation transcript:

15K1117 下窪 聖人 15K1013 坂本 倖輝 15K1112 黒川 晶太 15K1015 関根 修斗 Chapter05 15K1117 下窪 聖人 15K1013 坂本 倖輝 15K1112 黒川 晶太 15K1015 関根 修斗

Chapter05.1.1 15K1117 下窪 聖人

内容 畳み込みニューラルネットワークの完成 全結合層 ソフトマックス関数 畳み込みフィルター プーリング層 畳み込みフィルター プーリング層 ・ ・ ・ 入力画像 ・ この章では、畳み込みフィルターとプーリング層を2段に重ねたCNNを実際に構成して、TensorFlowによる最適化処理を実施することで、どのような結果が得られるか確認します。 1段目と2段目の畳み込みフィルターの数をそれぞれ、32個、および64個として説明を進めます。 畳み込みフィルター プーリング層 畳み込みフィルター プーリング層 ドロップアウト層

2段階の畳み込みフィルターの構成 フィルター1 フィルター1 フィルター2 フィルター3 出力画像 各フィルターの出力を合成 入力画像  2段階の畳み込みフィルターの構成 フィルター1 フィルター1 フィルター2 フィルター3 出力画像 各フィルターの出力を合成 入力画像 フィルター2 14x14ピクセル 28x28ピクセル ・ ・ 1段目のフィルター群はTensorFlowのコードでは「フィルターサイズ(縦×横)×入力レイヤー数×出力レイヤー数」=「5×5×1×32」という多次元リストで表現されます。 この時、2段目のフィルター群は「5×5×32×64」という多次元リストで表現されます。 最終的に、2段目の「畳み込みフィルター+プーリング層」からは、64個の7×7ピクセルの画像データが出力されることになります。 7x7ピクセル フィルター32 1段目のフィルター

パラメーターの最適化を効率的に実施するテクニック (1)フィルター適用後の画像データに活性化関数ReLUを適用する (2)パラメーター(Variable)の初期値に0を用いない (3)オーバーフィッティングを避けるためにドロップアウト層を入れる 5.1.2でこれらのテクニックを適用したコードを利用する。 次に、パラメーターの最適化を効率的に実施するテクニックを説明します。これには次の3つがあります。 5.1.2でこれらのテクニックを使用したコードを利用するので、先に説明をしておきます。

(1)フィルター適用後の画像データに活性化関数ReLUを適用する import numpy as np def relu(x): return np.maximum(0, x) 数式で表すと ℎ 𝑥 = 𝑥 (𝑥>0) 0 (𝑥 ≤0) b_conv1はしきい値に対応するための変数です。 ここで重要なのは活性化関数ReLUを使用していることです。 ReLUの中身は示している通りです。 このmaximumは、入力された値から大きい方の値を選んで出力する関数です。 tf.constantはshapeオプションで指定された形式の多次元リストを用意して、全ての要素に同じ値を設定する関数です。 次に、2について説明します。

(2)パラメーター(Variable)の初期値に0を用いない 0でない理由 あえて0からずらしておくことで、誤差関数の停留値を避けて、最適化処理を効率的に進めることを可能にするため ここでは、0から少しだけ異なる値を設定しています。 理由は、フィルターの初期値を乱数を用いて設定するのと同じ理由で、あえて0からずらしておくことで 誤差関数の停留値を避けて、最適化処理を効率的に進めることを可能にするためです。

(3)オーバーフィッティングを避けるためにドロップアウト層を入れる ドロップアウトとは ニューロンをランダムに消去しながら学習する手法。 訓練時に隠れ層のニューロンをランダムに選び出し、その選び出したニューロンを消去する。 ・訓練時 消去したニューロンは、信号の伝達が行われなくなる。 データが流れるたびに、消去するニューロンをランダムに選択する。 ・テスト時 全てのニューロンの信号を伝達するが、各ニューロンの出力に対して、訓練時に消去した割合を乗算して出力する。 最後に、(3)のドロップアウト層は、全結合層のノード群とソフトマックス関数の間に位置するもので、 少し特別な役割を持ちます。 ドロッアウトとは、ニューロンをランダムに消去しながら学習する手法です。 訓練時に隠れ層のニューロンをランダムに選び出し、その選び出したニューロンを消去する。 ここで消去されたニューロンは、信号の伝達が行われなくなります。 なお、訓練時にはデータが流れるたびに、消去するニューロンをランダムに選択します。 そして、テスト時には、全てのニューロンの信号を伝達しますが、各ニューロンの出力に対して、訓練時に消去した割合を乗算して出力します。 具体的にどういうことが行われるかというと

(3)オーバーフィッティングを避けるためにドロップアウト層を入れる ドロップアウトを適用 左の図のような複雑なニューラルネットワークにドロップアウトを適用することで右の図のようになります。 ドロップアウトを用いることで、訓練データとテストデータの認識精度の隔たりが小さくなります。 このように、ドロップアウトを用いれば、表現力の高いネットワークであっても、過学習を抑制することができるようになります。 複雑なニューラルネットワーク ドロップアウトを適用したネットワーク 訓練データとテストデータの認識精度の隔たりが小さくなる。 過学習を抑制することができる。

(3)オーバーフィッティングを避けるためにドロップアウト層を入れる Dropoutの中身(ソースコード) class Dropout: def __init__(self,dropout_ratio=0.5): self.dropout_ratio=drop_out_ratio self.mask=None def forward(self,x,train_flg=True): if train_flg: self.mask= np.random.rand(*x.shape) >self.dropout_ratio return x*self.mask else: return x*(1.0-self.dropout_ratio) def backward(self, dout): return dout*self.mask 今の話をソースコードにしてみると、Dropaoutの中身は示している通りです。 Dropoutはクラスを使用して示しています。 ついでに、ソフトマックス関数の中身を見せます。

(3)オーバーフィッティングを避けるためにドロップアウト層を入れる softmaxの中身(ソースコード) import numpy as np def softmax(a): c = np.max(a) exp_a = np.exp(a-c) #オーバーフロー対策 sum_exp_a = np.sum(exp_a) y = exp_a / sum_exp_a return y ソフトマックス関数の中身は示している通りです。 ソフトマックス関数を用いることで、問題に対して確率的(統計的)な対応ができるようになリます。