2018年4月3日火曜日

自動運転技術の開発で鍵になるのはテスト工程の確立

このエントリーをはてなブックマークに追加
Clip to Evernote
Pocket

身近かつハイテクで、発展的な応用が想像しやすい技術として注目される自動運転技術だが、日本勢が米国勢に絶対勝てないと言う説がよく囁かれる*1。そこでは市場を制する為のポイントとして、ソフトウェア技術者の質や量、実地テストのための法整備などが挙げられていることが多いのだが、テスト工程の整備の方が重要に思えるので指摘したい。

1. センサーに依存する組み込みソフトウェア

人工知能で自動運転技術と言うフレーズを見かけると、何かパソコンやスマホのアプリのような抽象性の高いソフトウェアを一つ開発すれば全て終わりのような印象を持つ人々が多いようだが、それで制御するのは車の動き全体で、何だかんだと車体と言うハードウェアに制約されるソフトウェアだ。

新車は次々に発表されているわけだが、ハードウェアの変更にソフトウェアは無縁ではいられない。ステアリングやエンジンの制御と言うアウトプットのための寸法/重量/出力などはパラメーターで調整するように設計できるかも知れないが、センサーが検知したデータで状態を判断するインプットの方はアップデートに追われる事になる。特にディープラーニングなど機械学習を用いた場合は中身がブラックボックスになるので、センサーの種類/位置/数の変更は白紙の状態からの再学習を行なう必要が出てくる。

2. ハードウェアや社会の変化が永遠にアップデートを要求する

低コスト化の目的もあり、センサーの種類/位置/数はまだ模索が続いているし、過去の電子技術の推移を見ると電子部品の新旧交代は激しく、同じセンサーを使い続ける事は極めて困難だ。法令、歩行者、軽車両などの動きも、時代とともに変化している。ソフトウェア自体も、バグの対応や新しく追加される学習データによって日々更新されていく。そして、ソフトウェアの変更は、マイナーなものであっても先祖返りを含めたリスクを孕んでいる。冬に予想外の状況で事故が生じて降雪時の学習データを追加したら、今まで無問題であった炎天下で正しく判断ができなくなったりするかも知れない。パラメーター変更などにより柔軟性があり、車体の寸法/重量/出力などでソフトウェアに大きな変更が不要なはずのときでも、潜在的なバグが露見することもありえる。

3. 先行者もテスト工程の確立に成功していない

自動運転は重量物を動かしているわけで、被害金額は大きくなるし人命に関わるので、バグを覚悟にリリースとも行かない。試験は念入りに行なう必要がある。しかし、入力情報のパターンが無数になるので、テスト項目の数は膨大になる。このテスト工程の整備が、かなりチャレンジングな課題になる。ソフトウェアによる仮想的なテストでは済まない部分もあるわけで、かなりのリソースを注がないといけないであろう。雨や雪といった天候の変化から、交通ルール無視の子供の飛び出しから老人の自転車まで、必要に応じてやり直す体制がいる。

すごく初歩的な話に思えるかも知れないが、トラックが白い色だからと言って追突をしたり*2、停止している消防車に追突したり*3、昼間のインターチェンジで車線をはみ出したり*4、歩行者が目前にいるのに跳ねて殺したりしている*5。ソフトウェアの具体的な欠陥については報じられていないが、全て、テストパターンに入っていなければおかしい事例だ。つまり、自動運転技術で先行していると言われている企業も、現段階では開発体制を確立できていない。

0 コメント:

コメントを投稿