さや香の歌のおにいさんへのコールがツボでした、nikkieです。
先日Cogbot 勉強会に行ってきました。備忘録としてレポートを残します。
勉強会について
本会は、Microsoft Cognitive Services と Bot Framework を中心に、コグニティブとボットを一緒に勉強する会です。
個人的な理解ですが
Microsoft Cognitive Servicesは人工知能API群
(画像のタグ付けや、翻訳、Q&A作成など20以上)、
Bot FrameworkはSlackやSkypeなどさまざまなチャネルにBotを公開できるBot作成ツール
と認識しています。
詳しい説明はMicrosoftのエヴァンジェリストの方々の資料にお譲りします。
今回のテーマ
今回は、機械学習(ML)の巻!Azure Machine Learning (AzureML) で始めよう!深層学習(DL)向け CNTK もちょっと解説。
上でも引用した勉強会のconnpassページから。
CNTKは6月に参加したハッカソンの事前勉強会でも耳にした言葉だったので
そのときのスライドなどを振り返り、予習して参加。
予習
こちらの動画で予習しました。(6月に参加したハッカソンの事前勉強会とほとんど同じでした)
CNNは次の2つのレイヤーを含むニューラル・ネットワークだそうです。
・コンボリューション(Convolution)レイヤー:局所的なフィルタをずらして適用する
画像の局所的な特徴を包み込んだまま出力へ渡してくれる
・プーリング(Pooling)レイヤー:範囲の最大値を取り出す
写り方がずれても(画像がぶれても)写っているものを捕捉できる
CNNという言葉だけ知っている状態から少し理解が前進しました。
講義
諸般の事情により受付締め切りぎりぎりに滑り込んだので、講演は全部聞けていません。
スライドを確認したところ、予告通り
・Microsoft Cognitive Toolkit (CNTK)
・Azure Machine Learning Services
の2本立てという印象です。
予習していなかったAzure Machine Learning Servicesについてはそんなものが出てたの?と驚きでした。
ハンズオン
予習もしていたCNTKの方に取り組みました。
jupyter notebookは触るのが初めてだったので、おっかなびっくりでした。
深層学習の題材で手を動かすのも今回初めてでした。
取り組んだのは以下の3つです。(残り2つはGPUでないので断念)
#1 CNTK MNIST by DNN
#2 CNTK MNIST by DNN with Trainer
#3 CNTK MNIST by CNN
#1, 2の3層のモデルから、#3では8層のモデルとなり、CNNは処理に時間かかることを体感しました。
#1と#2でエポック数(学習試行数の認識)を20に揃えたらどうなるか
素人目にも気になったのでやってみました。
Trainerを導入していないDNNのほうがエラー率が低いという結果になりました。
(解釈の仕方あっているのかな??)
このあたりは深層学習に入門しないと解釈が難しいという印象です。。
まとめ
ぎりぎり参加に対応していただき、関係者の皆さんどうもありがとうございました。
Machine Learningの方のハンズオン題材も時間を見つけてやってみたいと思います。
どちらもハッカソンなどで使えるようキャッチアップしていきたいところです。