IBIS2019 ======== # データ駆動科学と機械学習 企画: 中西義典先生(東大) + 藤井慶輔(命題) ## サンプリングによるデータ駆動科学 - 講演者: 福島孝治先生(東京大学) - データ駆動科学: - データの扱いを通じて、自然科学の仮設検証ループを"効率よく"実現する - 物理と機械学習の融合: - 観測から根源的な構造を推定するという目的が従来の研究 - 最近は中身の仕組みは何でもいいから出力を予測したいというニーズも増えている - 物理法則の知見は機械学習に入れるべき? - 要するにドメイン知識 - 物理でのパラメータ推定 - 物理モデルのパラメータを推定するときは、単純にL2/L1正則化して最適化すればいいというわけではなくて、不定性=ノイズを考慮すると最適化のハイパーパラメータの選択が非常に重要になる - 今日のお題: ノイズ付き線形方程式のパラメータ推定をしたい - y = Ax + e - 観測データ y から信号源 x を推定したい(逆問題) - 解放に求められる要件 - 非線形問題+多峰性への対応: 大域最適解を求めたい - Population Annealing - Simulated Annealing よりも性能が良いらしい - (shioda)最近進化計算系の手法が当たり前に使われるようになってきて嬉しい - データ駆動科学にとって不確実性を評価するためにはサンプリングが必須 - サンプリング方法としてPopulation Annealingが使える - 超並列化可能 - MCMCほど理論がないのでつらみがある - 次のデータを取得する意味でもサンプリングが重要: ベイズ最適化とか - Q: シミュレーションで新しい原理が見つかることがある? - A; 原理というより色々な振る舞い(解釈)がわかる - 原理はわかっているけど動かしてみると何が起きるのかわからないから計算機を使うと色々なことがわかる - 例: 将棋のルールは決まっているけど、打ち方によって色々な振る舞いがわかって面白い ## データ駆動科学の立場から見た物質科学と情報科学の接点 - 講演者: 安藤康伸先生(産総研) - 第一原理計算を行って情報を取り出したい - 反応を起こしている分子を特定するためにスペクトルを見ていた -> 計算機の力を借りてもっと効率的にしたい - 物質科学 x 情報科学の課題 - スモールデータが多い - 実験で得られるサンプルは100~1000程度(100でも多い) - データを取得するコストが非常に高い - 材料を手配して加工して…みたいなことをしていると1週間とか余裕でかかる - 他の実験室との比較が困難(環境や装置、実験する人にも依存数r) - 汎用的な物質表現や処理方法がない - 対象は色々: 高分子だったり半導体だったり - スケールも様々: 1nm~1m(9桁のレンジ) - ハイスループット計測データ解析 - 単一のシートに複数の組成を連続的に分布させることで、物理空間を一気に観測することができる(それでもせいぜい1000 - 第一原理計算データを利用した機械学習ポテンシャル発見 - 分子の表面の正確なシミュレーションをしたい - ![](https://i.imgur.com/EqV9YYF.jpg) - 作ってみた!系の論文が多くて辟易しているらいし - aaa - スペクトル多すぎ問題: 画像の各ピクセルにスペクトルデータがあり、そのピーク知りたい - ピークの位置をガウス過程でフィットして推定したい - 非線形最小二乗法は厳しい: 初期値探索がつらいし探索点も多い - EMアルゴリズムやMCMCを使って効率化した - EMアルゴリズムも単純な手法だと遅いので、ヒストグラム化してデータを縮約することで、カウント数が増えても大丈夫になった ## 集団運動におけるデータ駆動科学 - 講演者: 藤井先生(名大) - 発表資料: https://www.dropbox.com/s/lw1ush95bz4ntv7/20191121_Fujii.pdf?dl=0 - 集団運動 - 歩行者、動物行動、こどものあそび、スポーツとか - 動的システムとしての理解 - x_{t+1} = f(x_t) に従うとする - パターン1: fが既知で解析的に解ける - パターン2: fが既知だが解析的には解けない - パターン3: fが道 - 集団運動は階層構造や非線形性があるので難しい - 階層構造: 要素->個人->集団みたいなこと - スポーツでの応用 - 現状ではビデオを活用した分析がほどんど、シミュレーションはあまり使われていないらしい - Google research football https://arxiv.org/abs/1907.11180 - https://i.imgur.com/zmmJdXG.jpg - https://i.imgur.com/J18uDIu.jpg # 深層学習の理論 http://ibisml.org/ibis2019/files/2019/11/introduction.pdf http://ibisml.org/ibis2019/files/2019/11/slide_imaizumi.pdf http://ibisml.org/ibis2019/files/2019/11/slide_nitanda.pdf http://ibisml.org/ibis2019/files/2019/11/slide_sannai.pdf # 機械学習工学 ## 機械学習に対するソフトウェア工学の技術動向 - 石川冬樹先生(NII) - http://research.nii.ac.jp/~f-ishikawa/ - 関連会議 - MLSE: 機械学習工学研究会 - https://mlxse.connpass.com/ - QA4AI: AIプロダクト品質保証コンソーシアム - http://www.qa4ai.jp/ - 要求工学を機械学習に適用する必要があるのでは? - 機械学習はデータから学習するため全体が曖昧になる - 今まではIf-Thenで記述しているので検証が容易だった - ソフトウェアエンジニアが機械学習を活用するには考え方が違って難しい - 契約・仕様・受け入れの課題 - 仕様を事前に約束できない: 後出しされやすい - PoCの壁: データ量や前処理が足りないと結果が出づらい - 不確かさが従来のシステムよりも非常に多い - 技術的負債 - 入力を一つ変えるとシステムは大きく変わる可能性ある - ver.1.0は借金の始まり… - 自動運転に伴う不確かさ - どれだけのバリエーションを考える? - ラベリングの正確さは? - 開発と運用の環境は同じになっている? - 機械学習はそもそもテスト不可能 - 画像分類など正解を与えることのコストが大きい - 給与判断など唯一の正解が決めがたい場合もある - 推薦やデータマイニングなども場合、出力の期待値は存在しない - テストでバグを見つける? - 分類や予測が100%成功することがないため、期待値と出力がずれていてもバグか否かは不明 - 訓練データ・コード・性能限界のどれか不明 - 単体テストが通用しない、カバレッジも定義できない - サーチベースドテスティング - 進化計算を使ってExtremeな事例を生成してテストできるようにする - EvoSuite - Facebook: Sapienz(モバイルアプリテスティング) - システムレベルの要求に応じたテスト - 例えば自動運転なら100m先の標識は誤認識してもよい - DNNの精度を追求するのも大切だが、物理シミュレーションと合わせてテストを行うことが大切 - VerifAI - UC Berkley - シナリオを定義して物理シミュレーションを自動で生成するプログラミング言語を開発していたりする - デバッグ技術が必要 - 予測結果から再訓練に用いるデータを自動で選択する - DNNのどのレイヤの影響で過学習や未学習の影響が現れるかを探すとか ## 機械学習と知財・契約 - データ収集の問題点 - 生データは様々な種類があり、それぞれ規制が異なる - データの種類 x データの取得方法 で分類するとわかりやすい - データの種類 - 個人情報 - 著作物 - 肖像権 - 時事素を示すデータ - センサーデータ - データの取得方法 - 自ら生成 - 第三者からデータ利用契約以外の契約に基づき収集 - 第三者からデータ利用規約に基づき収集 - インターネットから収集 - 規制 - 法律 - 契約 - 日本は商用で著作権を無視してコンテンツを自由に使えるが、日本国内のサーバでやる必要はある - ![](https://i.imgur.com/TKv2bKh.jpg) - 学習済みモデルの定義は事前にすり合わせることが非常に大切 - 成果物の権利ではなくて利用条件を調整することが大切 - ベンダとユーザのビジネスモデルは本質的に異なるので - 機械学習モデルの出力が元データとほとんど同じデータを出力した場合、著作権法の侵害の対象になるかもしれないが、まだ確定していない ## 継続的改善をし続けるための機械学習基盤の課題 - http://bit.ly/mlsys-ibis2019 - Same code, CI passed, but prediction failed - 学習時と運用時で利用状況= - データサイエンティストや研究者が書いたコードをできるだけBlackboxのままでProductionに持っていく手法の研究=MLOps? - データサイエンティストがサンプルコードだと思って渡したらいつの間にかProductionに乗っていることがある - 本番コードに書き換えてくれる人の単価は高い # 日本におけるデータサイエンスの現状と今後