社内勉強会レポート|Stanford CS230 ディープラーニングのご紹介(その2)
こんにちは。Airitechの小野です。当社で行っているディープラーニングの勉強会の記録の続きです。ここでは主として、ビデオ教材"Stanford CS230 Deep Learning: Lecture 2 - Deep Learning Intuition"で話されている内容について考察してみます。
前回の内容はこちらです。
前回の講義のおさらい
機械学習の基本構造は「入力→モデル→出力」
モデル=アーキテクチャ+パラメータ
学習の方法:出力から「損失」→「勾配」と戻していきます。
ロジスティック回帰モデル
画像データから動物の判定:イメージを3次元ベクトル(RGB)で表します。
ターゲットのラベル付け:one hot(ダミー変数)では一画面に複数の動物の場合が扱えない。Softmax関数を用います。
プロジェクト事例(1):画像データから昼か夜かの判定
集めるイメージの数はアーキテクチャに依存するのではなく、判定の難易度によって決めます。屋外の写真だけなら10,000で十分ですが、室内などより複雑なケースでは100,000が必要です。
8,000が学習用、2,000が検証用でよいでしょう。サンプルサイズ百万ならば98%学習用でよいでしょう。解像度は64*64*3でよい。動物の識別ならより高い解像度が必要です。
この場合は浅いネットワークで十分機能します。
損失関数:この場合は対数尤度でよい。凸関数で最適化が容易です。
プロジェクト事例(2):大学の施設を利用する生徒の顔認識
学習用にラベル付きの写真を使います。
入力画像の解像度は412*412*3です。顔のパーツが識別できるレベルです。背景の明暗、化粧やひげなどが問題になります。写真についての情報をエンコードしてベクトルとして表します。
anchor(元の写真)、positive(同一人物の他の写真)、negative(全く違う人の写真)です。anchorとpositiveの距離を最小に、anchorとnegativeの距離を最大にします。
エッジ、顔のパーツ、パーツ間の距離というようにネットワークが深くなります。
プロジェクト事例(3):アート創作
入力はcontent imageとstyle imageからなります。
パラメータを訓練するのではなく、絵そのものを訓練します。
最初の層でエッジを識別、エッジはコンテントイメージを表現します。
スタイルは(右側に木があるといった)ローカル化された情報ではありません。例えば、ImageNetで訓練された既存モデルをロードします。
生成スタイルを手本スタイルに近づけ、生成コンテンツを手本コンテンツに近づけます。
ホワイトノイズの画像から出発します。その方がバイアスがなく効率的です。
プロジェクト事例(4):スピーチの音声からあるキーワードを検出する
異なるアクセント、音高などを聞き分けるために大量の10秒音声クリップをデータとして用います。リカレントニューラルネットワークのような構造になります。
正しい単語の音声、違う単語の音声、雑音をそれぞれサンプルとして収集します。
(入力データは)雑音に正しい単語、違う単語をいくつかランダムに挟み込みます。ラベリングの自動化をします。
フーリエ変換で周波数毎の頻度を抽出します。
(一般に)自ら試行錯誤するだけでなく、専門家の助言を仰ぐことも時として必要です。
他のアプローチは、triplet lossアルゴリズムを用いるものです。
まとめ
この回の講義では、実際の機械学習のプロジェクトの事例毎に、プロジェクトを進める上でカギとなる入力データの用意の仕方や損失関数の選び方について、学生に問いかける形で説明がされています。
実際に機械学習のプロジェクトで実データを扱ってモデルを構築したい場合に、非常に参考になる内容となっています。
Airitechでは定期的に社内勉強会を行っています
採用情報はこちら
この記事が気に入ったらサポートをしてみませんか?