史上初の自動運転による死亡事故 2018年3月18日@アリゾナ

2018年3月18日にアリゾナで史上初の自動運転による死亡事故が発生。自動運転界隈にとってショッキングな事件とされており、今もかなり話題になっているので内容を調べてみた。

 


東洋経済

アメリカ現地時間の3月18日夜、ライドシェアリング大手の米ウーバー(Uber)がアリゾナ州テンピで行っていた完全自動運転の実証試験中に歩行者の女性をはねた。女性は病院に搬送されたが死亡が確認された。

これを受けてウーバーは、アリゾナ州、カリフォルニア州、そしてオハイオ州で実施してきた公道での完全自動運転の走行テストを中止したと発表した。

 

今回の事故を受けて『開発途上の自動運転技術で公道を走らせるのはやっぱり危ない!』という声が大きくなりそうですし、まず最初に予想された展開がこれですね。もちろん必要な対応ですが、ここまでは形式的・儀式的な対応とも解釈できます。

 


日本経済新聞

地元警察は歩行者が急に飛び出し、人間でも避けるのが難しい事故だったとみている。

車両は時速64キロメートル以下で自動走行していたとみられ、衝突直前に減速した形跡はなかった。雨や雪は降っておらず、走行が難しい気象条件でもなかった。

運転はかなり安全重視だ。法定速度内で走るようプログラムされており、スピード違反はありえない。基本的には常に道を譲る設定となっている。

 

このあたりからずいぶんと擁護的になっています。つまり『自動運転の特別な事故』ではなく『ただの事故』にするための論に見えます。『自動運転だから』ではなく『歩行者が飛び出したから』というロジックを成立させることで、事故過失割合を自動運転側から取り除こうというストーリーですね。

 


日本経済新聞

自動運転機能が作動中で、運転席には監督者も乗っていた。

自動運転機能+監督者があったにもかかわらず事故が起きたとなると、誰の過失なのか本当にわからなくなってきますね。監督者という登場人物の追加によって、さらなる擁護の予防線として歩行者の過失でもなく自動運転技術の過失でもなく、同乗していた監督者の過失になるというストーリー展開の可能性も浮上します。

 


 

誰がどの立場をとるのか今は不明ですが、自動運転は操縦技術以外にも倫理と責任の問題に必ずぶつかると言われています。今回の事故によってどのように話が進んでいくのか注目です。

 

PRMU企画セッション2018の資料が深層学習入門編としてとてもわかりやすい

電子情報通信学会の総合大会@東京電機大学に参加してきました。

同時開催されたPRMU企画セッション『人工知能・深層学習の実世界応用』にてご講演されたシモラセ・エドガーさん@早稲田大学の資料が非常にわかりやすかったので備忘録としてまとめます。

まとめますというか、一般公開されているのでリンク先を見てもらえればいいのですが。

シモセラ・エドガーさんによるpdf資料

企画セッションのサイト

 


セッション中に”イイネ!!” と思った発言集

・ディープラーニングは万能ではない、問題を選ぶ必要あり

・パラメータは学習で決まるもの、ハイパーパラメータは人間が経験で決めるもの

・深層学習による自動的な特徴量抽出によってヒューリスティックを避けられる

・非線形の活性化関数をはさむことであらゆる計算式が近似できる(↓↓ 例えばこれ Wikipediaより)

・Adadeltaとバッチ正規化はとてもオススメ

・モデルや学習では解像度を下げることが重要

・TensorFlowは静的と動的なグラフが可能で、生産に焦点をあててる (←そうなの!?と驚いたけど、いつの間にか動的ネットワーク生成に対応したTensorFlowFoldってのが登場してたようです)

 


資料中で引用されていたAlec Radfordさんによる学習率の違いを示したアニメーションが面白かったです

 

マーケットインとプロダクトアウト

マーケティングを勉強してれば必ず耳にする「マーケットインとプロダクトアウト」について簡単にまとめます。


プロダクトアウト

・技術ありきの戦略。
・企業側の思想に合わせた開発。
・提供側の発想で商品開発を行うこと

スティーブジョブズの有名な言葉に「多くの場合、人は形にして見せて貰うまで自分は何が欲しいのかわからないものだ」とあるように、イノベーションを起こすにはプロダクトアウト観点は必須です。

「もし顧客に、彼らの望むものを聞いていたら、彼らは『もっと速い馬が欲しい』と答えていただろう。」というヘンリーフォードの言葉もありますね。

なによりプロダクトアウトのいい点は、技術起点の開発のため他社に真似されにくい製品やサービスを世に送り出すことに長けている点です。


マーケットイン

・顧客ありきの戦略。
・売れるものを創ろうとする開発。
・顧客側の発想で商品開発を行うこと。

顧客要望を無視してやりたい開発だけを進めることは独りよがり、また、博打のようなもので、マーケットインの視点が堅実な利益へとつながります。


筆者の意見

ロードローラーさんの意見としては、やはり自身が技術者ということもありプロダクトアプトの視点が強いですね。他社に真似されてコモディティ化されると価格競争にしかならないので。

マーケットインを主体で進めるとしたら、市場で1番乗りになることを目指し、他社が追いかけてきたころには次のマーケットを見つける機動力を持つ必要がると思います。


注意点

マーケットインとプロダクトアウトは対立する思想ではなく、両方の考え方を同時に適用することは可能です。むしろ同時に持つべきです。

PAC学習とVC理論

お久しぶりです、ロードローラーです。最近は7月のICMLに参加すべく勉強の日々を過ごしています。

ディープラーニングをあれこれとやって知ったつもりになっていましたが、ディープラーニングは機械学習の一部でしかなく(さらに言うならニューラルネットワーク手法の1つでしかない)、まだまだ勉強することは山のようにあります。

そんな中で、本日は機会学習のPAC学習とVC理論を調べました


PAC学習

参考サイト:朱鷺の杜Wiki

パラメータ:入力の誤差 ϵ,信頼度 δ,学習する概念の複雑さの上限 s

学習する概念についてのエラーがたかだか ϵ である確率が 1δ より大きくなるような仮説を出力できるアルゴリズムが存在するとき PAC学習可能 (probably approximately correct learnable). こうした学習問題を扱うのがPAC学習 (probably approximately correct learning)

さらに,1/ϵ1/δs について,計算時間が多項式時間で抑えられるとき,多項式時間PAC学習可能であるという.


こちらでもわかりやすくまとめられています

 

~要約~

PAC学習のモチベーションは『 まぁまぁ良い学習をするためにどの程度学習データが必要か見定めたい 』こと。

仮説集合𝐻(≒分類モデル)において『汎化誤差が𝜖より大きい,かつ,ℓ個の訓練データ に無矛盾な仮説を選択してしまう確率を𝛿以下に抑 えたい』とき、すなわち危険率𝛿以下で汎化誤差が 高々𝜖の仮説を学習するために必要な訓練デー タは次の式で求められる

問題点が2つあり、1つ目は思った以上に非常に大きい数値が算出されてしまうこと、2つ目は仮説集合𝐻(≒分類モデル)が無限の場合に対応できないこと。

実際問題、パラメータ数次第で分類モデルの構築方法は無限に考えられるので(だからパラメータチューニングが難しい)、仮説集合Hが有限となるシチュエーションは限られています。


VC次元による問題解決

仮説集合Hが有限でなければ先ほどの計算式のうち|H|が∞となり、必要な訓練データ数ℓも∞に発散してしまいます。そこでVC次元という考えを導入して、仮説集合HではなくVC次元数dによって下記式から必要な訓練データ数にあたりをつけます。

さて、それではVC次元とは何なのか??朱鷺の杜Wikiに再登場して頂きましょう。勝手に私が要約した内容が以下です。

・shatterするとは,点集合のそれぞれの点にどのようにラベルをつけても,それらの点を分離するような関数(≒分類モデル)がその仮説集合𝐻に含まれること.

・n個の点に対して,任意の配置とラベルであってもshatterできるような関数があり、それ以上点を増やすとshatterできなくなるとき,その関数(≒分類モデル)のVC次元は n.


ICML2017でも研究対象に

パラメータ再利用の転移学習時のリスクを算出するために、PAC学習やVC次元が利用された研究があったようです。

論文:
Risk Bounds for Transferring Representations With and Without Fine-Tuning

ちょっと理解するのが難しそうなので、これはまた今度で・・・・←

 

統計におけるp値とt値 ~聞くは一時の恥、聞かぬは一生の恥~


■p値

回帰分析で求めた変数xの係数kに対し、『変数xは有効ではない』という帰無仮説を考えたとして、『偶然に係数がk以上になる確率』を表す

p値の解釈についてはコチラの表現がわかりやすい

 

カンタンに言うと「その仮説が正しいと仮定したら、今回みたいな結果が起きる確率はこんなにも低いんだ。偶然こんなに低い確率を引いたと考えるより、その仮説は正しくないと考える方が自然じゃない?」と主張するときの『こんなに低い確率』 https://atarimae.biz/archives/12011#p

 

仮説を否定するときの基準は『p値0.05以下』が広く用いられている

まわりくどいように感じるが、まとめると以下の流れ。
・変数xは有効ではないという仮説を立てる
・偶然では考えにくいような結果が出た
・きっと仮説は誤っていた、つまり変数xは有効だ!

 


■t値

・2つの集団に対して平均値に有意差がありかどうか判定する基準値

 

例えばトレーニング前の体力測定データの集合Xと、トレーニング後の体力測定データデータの集合Yを用意して、t値を算出することでトレーニングによる有意差があるかどうか検定ができる。

 

 

<数式の直感的な解釈>

分子:2つの集団間で平均値の差が大きいほどt値(有意差)が大きくなる

分母:それぞれ集団の分散が大きいほど、たまたま2集団間の平均値が離れただけの可能性があるのでt値(有意差)が小さくなる

分母:サンプルサイズ(mとn)が大きいほど、XとYの平均値が母集団を正確に表現できているのでt値が大きくなる

全員リーダーの組織論

大学選手権9連覇中の帝京大学の岩出監督の言葉

・過剰なトレーニングを強いるのは指導者の不安解消でしかない

・楽しくさせてやったら人間だれでも動く

 

BS1スペシャル
「“全員リーダー”の組織論~帝京大ラグビー9連覇~」
ラグビー大学選手権で前人未到の9連覇を果たした帝京。脱体育会系を掲げ選手一人一人に考える力を求めた岩出監督と選手15人のインタビューで負けない組織の核心に迫る。 

http://www4.nhk.or.jp/bs1sp/x/2018-01-28/11/15594/3115361/

 

コントロールするのではなく、自発的に動く環境を作る。やはりこれに尽きるようですね。

AIとは?? ~正しい理解のために過去のブームを振り返りながら解説~

「AIってなんかすごいんでしょ!」

「AIを使って何か提案してよ!」

そんな声を聴くたびに嘆かわしく思っていた私ですが、そもそも何故近年AIブームが過熱しているのか?今までと何が変わったのか?正しい理解をしている人が何人いるでしょうか?

という気持ちから、簡単にまとめてみました。

 

さぁ、勉強したところでAIビジネスを始めましょう。

 

NVIDIAが教師無しのImage Translationを提案 ~Unsupervised Image-to-Image Translation Networks~

Unsupervised Image-to-Image Translation Networks
Ming-Yu Liu, Thomas Breuel, Jan Kautz(NVIDIA)

PDF NVIDIAサイトでの紹介 Git


概要

image-to-image translationによりドメイン間の転送を学習する。ここでいうドメインとは写真だと晴、雨、夏、冬など、顔画像だと眼鏡、金髪、笑顔、など

次の図では晴れの画像(左下)から雨の画像(右下)を生成している


特徴、すごい点

Unsupervised で image-to-image translation を実現

従来のSupervised image-to-imageでは
・画像ペア(X1, X2)が得られた
・そこから同時分布(Joint distribution)を推定可能だった
・つまりペア画像の差分がイコールでドメインの異なりによる成分だった

今回のUnsupervised image-to-imageでは
・画像ペア(X1, X2)が得られない
・そのため周辺分布(marginal distribution)しかわからない
・画像間の差分には被写体の異なりによる成分と、ドメインの異なりによる成分が含まれる


アイデア

共通の潜在空間 Z が存在すると仮定(Shared-latent space assumption)。異なるドメイン間の対応する画像は、同じ潜在変数Zから生成されるとした。

潜在空間Zの仮定により、ネットワーク各部の役割を以下のように解釈できる

E1 – G1, E2 – G2    : Variational auto encoder

E1 – G1 – D1, E2 – G2 – D2 : GAN

E1 – G2, E2 – G1     :  ドメイン間の画像変換


工夫①~重み共有~

ドメイン変換したときに、対応したペア画像が生成できるよう重み共有を部分的に行う。(E1とE2、G1とG2における一部のLayerが対象)。

重みを共有した部分が物体の構造を理解・再現する(hに相当)

重み共有されていない部分がドメイン固有の特徴を再現する(Lに相当)

 


工夫②~Loss関数の設計~

潜在空間Zの過程からcycle-consistency-assumptionという仮定を導く。

仮定:
「x1」「x1から変換したx2」それぞれから算出される潜在空間zの分布は一致する(Loss関数における項Lcc1)

仮定:
「x2」「x2から変換したx1」それぞれから算出される潜在空間zの分布は一致する(Loss関数における 項Lcc2)

2つに分けることで「ドメイン1⇒2への変換だけ得意」などと能力が偏らないようになる。(※なお、VAEとGANは従来のようにLoss関数を設計して学習)


所感

Loss関数の設計工夫はシビレましたね。ちゃんと潜在空間Zがそれっぽくなるような制約を加えることで結果が出ています。また、重み共有でドメイン間の事なりによる差分成分を分離できた点も、予想以上に直感通りの挙動を示したという驚きです。

多次元演奏会 ~音楽×映像×書道~

先日参加してきました多次元演奏会。今回のコンセプトは「音楽×映像×書道の多次元演奏会」とのことです。

書家の福田匠吾さんによるオープニングアクトは会場を一瞬で圧倒し、観客が一歩も動けず物音ひとつ立てられないほどのパフォーマンス。ライブ書道の緊張感を味わいました。

http://f-shogo.jp/

「音楽は感覚の数学」とはよくいったもので、メインアクトの融解建築は緻密に練られた美しい音楽でした。百聞は一見に如かず、とにかく聴いてみてください。

 

お土産にとCDを買って帰路につきました。ありがとうございました。

どシンプルながらも強力なPruningによるネットワーク高速化 ~Pruning Filters for Efficient ConvNets~

本日はPruningによるネットワーク高速化の論文を取り上げます。背景としてはディープニューラルネットワークではConv層の計算量やパラメータ数が膨大で、処理時間増大やメモリ圧迫が生じるのでなんとかしたいというところから来ていますね。

特に、ディープラーニングを組み込みで動かす場合はこのあたりの話はかなりシビアに効いてきます。


Pruning Filters for Efficient ConvNets (2017)(PDF
Hao Li, Asim Kadav, Igor Durdanovic, Hanan Samet, Hans Peter Graf

・Pruningによる高速化手法。
・Conv層をカーネルごと削減する手法を提案。


・L1ノルムが最小のカーネルを有効性が低いと仮定して削除する。
・既存のBLAS等のライブラリで実現可能。

 

・ResNetなど複雑な構造のネットワークでもConv層のPruningは可能
・関連するLayerもあわせて次元削減して次元数を揃える点に要注意
・Residualを出力するConv層を基準に削除次元を選定すると良いとのこと

 

・ランダムにカーネル選定するよりはL1を用いた方がわずかに良かった

 

・Layer別にPruning時の性能低下率と速度向上率を検証。
・性能低下を招きやすいLayerや、速度向上しやすいLayerがあることを示した。


所感

カーネル選定手法はまだまだ議論の余地はありそうですが、ポピュラーな構造のネットワークについて丁寧に検証されている論文でした。