Project

General

Profile

SQiP 2018 Day2

機械学習工学とソフトウェア品質 Preferred Networks

機械学習を工学にしようという機械学習工学という領域
研究分野としての人工知能というのはあった
第一次人工知能ブーム
Lisp、Means-End Analysis(探索アルゴリズム)、自然言語処理
第二次人工知能ブーム
オブジェクト指向、モデリング言語、セマンティックWeb
第三次人工知能ブーム
統計的機械学習、深層学習→帰納的システム開発(機械学習工学)
成熟すると当たり前の技術になっていく

人工知能=探索、推論、最適化、認識、自然言語
本当のAIと、ポエムなAIの見分け方:擬人化されている

普通の関数の作り方:摂氏から華氏への変換(モデルやアルゴリズムがわかってる)
深層学習のやり方:温度計を観測して訓練データにして訓練(わかってなくても良い)

写真を色分けして正解をアノテーションしてあげる訓練データ
どう説明するかで正解をアノテーションしてあげる訓練データ
(ティッシュ箱、白い箱、を動かして)
シミュレーターで報酬与え訓練する
2FPSでのMLでも、ML自体が未来を予測した形で制御する

統計的機械学習の本質的限界
・将来が過去と同じでないと予測できない
・訓練データに現れない、希少な事象に対して無力
・バイアスを避けられない100%の正しさは保証できない
ー>サイコロの1が100回でないとは言い切れない

汎用人工知能への道のり
・過去のデータを真似するだけ、ひらめかない、臨機応変でない
・所与の効用関数を最大化するだけ、新たな価値観を創り出さない
・そもそもこころの動きについてはほとんどわかってない

深層学習の3つの誤解
・深層学習は安全でない
・深層学習は説明可能でない、制御できない
・深層学習は最適な解を出す

V字モデルで作ってたらテスラの事故は防げたのか?
典型的なバグ密度は1000行あたり0.4行はバグが入る
(テストで見つかるのは2.1行)
多くの場合レビューにどれぐらい時間を割いたかで品質を指標に
プロセス品質を評価するという方法
深層学習なら全く知らぬデータを利用してテストするプロダクト品質

結果をビット単位で説明しようと思えば可能
ただ、それを人間が理解可能かは別の問題
そもそも「説明可能性」とは何か?
深層学習の問題ではなく、対象の複雑性の問題である
福島の事故の報告書:1000ページ、資料編700ページ
なお「いまだに解明できていない点も多々存在する。」
そして、複雑さの問題はIT一般の問題である
複雑:個人では理解できない、Linuxカーネル2000万行
並列:動作を再現できない、オンライン株取引
開世界:事前に特定できない、SNS
管理できない:ガバナンスきかない、クラウド
物理世界の制御:離散量で近似しかできない、自動操縦
キルスイッチは制御可能性を担保するのか?:手術中の機械、飛行中の飛行機
アシュビーの最小多様性原理:制御システムは制御対象システムよりも多くの状態を持つ
対象が複雑ならば、それを制御するソフトウェアは複雑にならざるを得ない
Xイベント:複雑さの低減は大きな破壊を伴う、複雑さを受容するしかない
他、レジリエンス・サイクル、砂山モデルなど、複雑についての研究がある

車に動いてほしい!でも事故してほしくない
でも衝突のペナルティを無限にすると、車は停止する
効用と安全性のバランスを定量的に要件として書き出す必要がある

最適とは何か?を考えなければ、列に並んでる他の客を殺して解決する
これは人工知能研究で昔からある問題:フレーム問題
データに内在するアイアス、不適切な手法、結果の誤った解釈
によって、いわれのない不利益、差別、政治的誘導などが発生する

3つの誤解の答え
・安全とは何か
・説明可能とは何か、制御可能とは何か
・最適とは何か

橋やビルを安全に作るために土木工学が必要だったと同じように、
データや機械学習を利用して分析や意思決定を行うための光学的ディシプリンが必要
大きな橋には10倍の強度をかけていたりする(安全係数)
複雑でも社会に受容されるのは工学として成熟されてから

2020年には新しく作られるソフトウェアの50%以上が統計的機械学習応用システムになる
「Low Hanging Fruits」刈り取りの場
ソフトウェア工学によってソフトウェア人材不足は解消された
シグモイド関数で値を分散させて、それを空間縮約して実行可能範囲に収める

アジャイル開発のける利用者価値が高いソフトウェアのリリーススピード向上 富士通

パフォーマンスメトリクス:操作時間、手順、習熟性、誤操作
問題点に基づくメトリクス:ユーザービリティの問題を測定
自己申告メトリクス:アンケート
行動・生理メトリクス:表情や言動
ISO 9241-11 Ergonomics of human-system interaction

有効さ、効率に従属する満足度を測定するメトリクスNPS
例:あなたはこのサービスを友人や同僚にすすめる可能性がありますか?

目標値に基づいたUXの作り込みは開発者にとっても利点が大きい

アジャイルプラクティスを導入した開発における品質メトリクスの提案

Dockerなどのクラウドから日立のブロックストレージを操作するプラグイン
最後のリリーススプリントは品質向上のためだけのスプリントにする

バグを前倒しで出せてるプロジェクトは品質が高かった
逆にバグが後ろの方に固まっているプロジェクトは品質が悪かった

新しい指標:欠陥抽出前倒し率

リリース後にどれぐらい欠陥が出るだろうか、前もってわかる

バグのひどさで重みを付けた、重み付き前倒し率を作った
するとよりt検定がより有意になった。

デメリットはプロジェクト終了しないと測定できない

デジタルトランスフォーメーションにむけ組織とマインドはどうあるべきか?

ゑびやの例 NikkeiBP
監視カメラで店の前の人を調べる、店に入る人の比率を得る
店頭ディスプレイにどれだけお金をかけられるか予測する

DXとは何か?

成迫
Webではクリック情報とかで色々分析してレコメンデーションとかしていた
実店舗で歩いた場所とか、取ったものとかを分析できたら世界が変わるのではないか

藤井
GoogleとかAmazonがぶっつぶしてきている、既存ビジネスを守るためにも
デジタルトランスフォーメーションをして、対策しなければならない

平鍋
デジタルの勝者が垂直の企業がぱくぱく食べていってしまっている
ソフトウェアがビジネスの中心になっていっている

横塚
生き残りのビジネス戦略をどう考えるのか
自分の本業がシュリンクしていく中で、どこに生き残れる場所を作れるか
Googleなどのデジタルディストラプションからどう守るのか
DXのゴールは生き残る事、あんたの会社が潰れるんだぞ

DX推進に必要なことは何か?

成迫
思ってるよりお金かけてる感じはなくて、5人とかでやるのでまずやってみろ
きったない屋台にQRコードがあって、それ開くとメニューがでて決済もできる
それってエンジニアからすると超かんたんじゃね?w

藤井
技術をわかってる企画者を入れないと話が進まない

平鍋
仕様書に向かって仕事をしていた人が、アジャイルになって
お客さんの喜ぶ顔をみると面白くなってくる

横原
エンジニアでビジネスが詳しい人、ビジネスでエンジニアが詳しい人、
どっちのほうが多いかは明確だし、エンジニアを使ったほうが早い。
金を儲けて汚いとかそういう時代はもう終わっている。
社会貢献になっているビジネスしかもう生き残らない。
アマゾンが保険業界にはいってきたらどうなるだろうか?
予算がないと落ち着かないでしょ?もう経営もアジャイルしないといけない
不確定の中GOが出せる組織ってどうやったら作れるの?
会社のビジョンを作って、会社そのものの存在意義がないと判断できない
組織やマインドを180度かえないといけない

パワポとか資料とかどれだけ見せても経営者が理解するわけがない
ちゃちゃっとビジネスを作って見せてあげると大きく変わってくる

サジェスチョンはいらない、僕がこういうふうにやりたいとかなら良い

デジタルなんとかという部署つくってアイデアソンとかやっても
やる人がいないとなにも起こらない、情熱がないとなにも起こらない

ミッション パッション ハイテンション
やっていい場所を用意してあげる

DX時代で品質保証ってどんな形になるか
なにを持って品質なのかと定義する必要がある
機能だしと同様のレベルで考えていくべきである

アウトソースしてやっているのを内部でやってそこからお金を貰ってる
社内の人に喜んでもらっている、人気がなくなったら破綻するだろう

織り込み済み品質、どう脆さに強い製品にするのだろうか、SREの考え

Added by aretan 2018-09-14 ago