はじめに
・深く追求すると難しいのと私が理解が及んでいないかもしれないのと、時間が
足りないので、簡略化してます。ご了承ください
・理解度チェックと少し深掘りしてほしいところは、ちょこっとした宿題として
次回1問につき5分程度で説明してもらいたいです
・数学的な方面での説明は、私が理解しきれていないので省いてます。ただ、チ
ューニングを行う上では必要です
・案件化を考えてます。アイデア出しやや検証に協力してくれる人いれば募集で
す(月に10%〜くらいの目安稼働できれば嬉しいです)
http://www.nhk.or.jp/aibeginner/
Neural Networkとは
ノード
エッジ
前の層のノードの値と重みの値を、活性化関数を用い
て計算する
エッジは重みを持つ
宿題①
重みってなんだろう?
入力層 中間層 出力層
入力層 中間層 出力層
・特徴量を抽出する
・特徴部分が取り出されたデータを一つのノー
ドに結合し、活性化関数を用いて最適化する
・ノードの値と重みを掛け合わ
せることによって値を算出する
・分類される確率に変換する
・分類確率を出力する
活性化関数とは
・ある閾値以上の部分だけを意味のある情報として次の層に送る働きをする
・抽出された特徴をより活性(強調)する働きがある
Deep learningとは
Deep learningとは
・多層ニューラルネットワーク(4層以上)
・データに含まれる特徴を段階的により深く学習することが可能
Convolution Neural Networkとは
入力層 出力層畳み込み層 プーリング層 全結合層 ドロップアウト
層
ReLU
ReLU
畳み込み層とは
・ピクセル(画素)として捉えて特
徴を抽出する
・エッジや点、線などの濃淡変化を
検出する
・畳み込み層で抽出された特徴を最
大化する
・物体の位置の変動や微小な変化
(ピクセルのズレ)をしても同一の
物体であるとみなす
プーリング層とは
全結合層とは
・特徴部分が取り出された画像データを一つのノードに結合し、活性化関数によ
って変換された値(特徴変数)を出力する
ReLUとは
・0未満の出力値を全て0にする活性
化関数
・過学習を防ぐ働きがある
・過学習とは、学習データだけが持
つ特徴に対して過剰な最適化が行わ
れることにより、未知のデータに対
する正解率が下がることを意味する
・ドロップアウト層は、全結合層の
ノード群と出力層の間の接続の一部
をランダムに切断することで過学習
を防ぐ働きがあります。
ドロップアウト層とは
宿題②
活性化関数ってほかにどんなものがあるのだろう?
宿題③
全結合層って具体的にどういったものなのだろう?
「学習」の流れ
処理の流れ
1. データとラベルのセットを作成する
2. モデルを定義する(入力層〜出力層まで)
3. 学習回数に応じてデータをモデルに流し込み精度を取得する
4. テストデータと照らし合わせて正解率を取得する
5. 結果を元に精度や正解率を算出する
「データセット」の準備
データセットとは
・学習とテストに用いるデータ
・オープンなデータセット例(https://github.com/openimages/dataset)
・正方形・JPEG・RGB
・目的のラベルに応じて判断できる材料が望ましい(可能ではあるが、例えば画像の中に、人、建物、
道路、車など複数が写っているとどの特徴をとればよいのかわからないので不向き)
・オリジナルの場合、例えば動画から取り出すツールを作ったりするのが流行り
・実用レベルだと1ラベル訓練に10,000枚、テストに3,000枚
・検証の場合だと上記の100分の1程度でよい
・ラベル付けはテキストとかCSVで画像ファイル枚に(0: 正解、1:不正解)など振ればよい
ライブラリの紹介
TensorFlow
・情報量が一番多く、Google製のた
め安心感もある
・バージョンアップ頻度が多く、関
数などがすぐ変更される
・画像処理ライブラリ
・閾値処理やフィルター処理など、
特徴抽出をしやすい画像加工が可能
・顔検出などにも用いることができ
る
OpenCV
NumPy
・配列を効率的に扱うためのデータ
構造と演算を備えたもの
・学習結果を可視化するツール
TensorBoard
宿題④
テンソルってなんだろう?

Deep learning入門