Machine Learning As SoftwareMakuake 社内 LT2019/01/23Tajima Taichi
View Slide
今日話さないこと機械学習の具体的な手法・アルゴリズムの説明※一般のソフトウェア開発者向けのお話です。
今日伝えたいこと機械学習≠AIというよりも...
今日伝えたいこと機械学習≒ソフトウェアの可能性を拡張する技術と捉えるほうが適切という話(※私見)
機械学習とはデータから目的の関数を生成する技術※全ての手法が、というわけではない。
例えば...AlphaGo(ゲームAI)関数(機械学習モデル)囲碁の盤面最も勝率の高い次の一手シミュレータ環境上の打ち手データを使って...
例えば...Siri(音声認識)関数(機械学習モデル)音声波形 テキスト音声とテキストのペアデータを使って...
例えば...Google翻訳(機械翻訳)関数(機械学習モデル)英語 日本語日英の対訳データを使って...
例えば...Amazonの商品推薦(レコメンデーション)関数(機械学習モデル)行動、購買、商品...ユーザーが欲しがる商品行動、購買、商品...データを使って...
近年、機械学習技術(特にDeep Learning)の進歩により人手のコーディングでは表現が難しかった関数をデータから生成することができるようになった
ソフトウェアとは関数の集まり機械学習とはデータから目的の関数を生成する技術
機械学習≒ソフトウェアの可能性を拡張する技術
ここまでが今日伝えたかったこと
ここからは偉い人の話(権威を笠に着る)
Software 2.0Andrej Karpathy氏(Director of AI at Tesla)によるエッセイ(2017年11月)
Software 1.0人間がプログラミング言語で振る舞いを記述する従来のソフトウェア開発Software 2.0ニューラルネット(Deep Learning)の重みパラメータで記述されるコーディングに人間が介在しない
なぜSoftware 2.0が重要か現実世界の課題の大部分はプログラムを明示的に書くよりもデータを収集するほうがずっと容易だから(ということらしい)
Software 2.0例えば...昔の Google翻訳は50万行のコードと多くのミドルウェア、パイプラインなどで構成された大規模で複雑なソフトウェア(Software 1.0)
Software 2.0現在の Google翻訳は500行のPythonコードとニューラルネットの重みパラメータ(数百万)のファイルのみで構成されたソフトウェア(Software 2.0)
Software 2.0の良いところ①均質な計算処理Computationally homogeneous
Software 2.0の良いところ②チップに埋め込みやすいSimple to bake into silicon
Software 2.0の良いところ③実行時間が一定Constant running time
Software 2.0の良いところ④メモリ使用量も一定Constant Memory Use
Software 2.0の良いところ⑤移植性が高いIt is highly portable
Software 2.0の良いところ⑥アジャイルIt is very agile
Software 2.0の良いところ⑦モジュール性Modules can meld into an optimal whole
Software 2.0の良いところ⑧お前らの書くコードより良いIt is better than you
ただし、Software 2.0はSoftware1.0を全て置き換えるものではないしかし、Software 2.0の適応範囲をますます広がっている
Software 2.0の記事から遡ること4ヶ月...
The future of deep learningFrancois CholletAI研究者, Keras(AIの民主化)の開発者@Googleによるエッセイ(2017年7月)
The future of deep learningSoftware 2.0以降のソフトウェア開発の具体的な素描“Models As Programs”
The future of deep learningAlgorithmic subroutine: Software 1.0Geometric subroutine: Software 2.0これからのソフトウェア開発
The future of deep learningもっと先の未来のソフトウェア開発→自動化が進む
Machine Learning As Software時代の開発ツールTensorflow Hub学習済みの機械学習モデルのモジュールを共有するプラットフォームComet ML機械学習モデルのバージョン管理・チーム開発ツールGoogle Dataset Searchデータセット専用の検索エンジン
まとめ機械学習という技術を適切に捉え、適切に使っていきましょう。(使わないという選択をする上でも大事。)