IT is IT.

空想イノベーション

自動車業界におけるディープラーニングの活用事例

f:id:itry:20190228220647j:plain

自動運転

カメラ、センサーなどから、信号や道路標識、障害物などを識別し、アクセルやブレーキ、ハンドル操作を自動操作を行う自動運転の研究が活発に行われている。

  • 2020年には無人走行による移動サービス
  • 2022年には高速道路でのトラックの隊列走行

これらに伴い、各省庁や自治体が中心になって、以下のような実証実験が行われている。

2017年10月〜2019年3月
SIP自動走行システムと呼ばれるもので、内外のメーカーが参加し、ダイナミックマップなどの実験を実施

2017年12月〜
石川県輪島市にて、車両内完全無人での遠隔操作による行動実証

2017年12月〜
高齢化が進行する中山間地域での自動運転実証実験

2018年1月〜
新東名高速道路において、後続車有人によるトラック隊列走行の実装実験

また、各メーカーでも独自の研究が進んでいる。

トヨタ自動車
首都高速での分合流や車線変更等を自動運転で行うでも走行(2020年頃実用化目標)

日産自動車、本田技研工業
一般道路と高速道路を含む自動運転の公道テスト(2020年以降実用化目標)

自動車の自動運転に伴う法制度の整備の検討も進んでいる。

  • 自動運転車両の安全基準
  • 交通ルールのありかた
  • 保険を含む責任関係の明確化
  • 国際動向、イノベーションに配慮した制度設計

スポンサーリンク
 

ロボットタクシー

自動運転を前提とした、ロボットタクシーと呼ばれる移動サービスの開発も進んでいる。

こちらも同様、各企業によって実証実験が進められている。

DeNA
2019年のサービス開始に向けた完全自動運転による小型カートや小型バスによる、ラストマイルサービスの実証実験

ZMP、アイサンテクノロジー
2017年12月に遠隔型自動運転システムを用いた公道における無人自動運転の実証実験を開始

SBドライブ
自動運転シャトルバスを使用したラストマイルサービスの実証実験

ものづくりにおけるディープラーニングの活用事例

部品工場の不良品の検出・検品

もともとの絶対数の少ない不良品は、たくさんの良品データから特徴量を抽出し、良品の特徴との差分で不良品の検出を行う。

  • オートエンコーダをはじめとする複数の手法を組み合わせ、良品データのみの特徴量から、不良品を検出
  • 人の目視に近い精度により、大幅な生産性を向上させることが可能

予防保全

部品の交換時期等を判断する際に、作業員の熟練度に依存せず判断することができ、安定した生産を目指す。

  • 機械を停止しないと確認できないような部品は、従来、熟練技術者が直接状態を確認し、部品交換の時期を推測していた
  • 部品が摩耗してくると、振動などの波形の形状が変換
  • この形状をディープラーニングで学習し、特徴量に換算
  • 機械を停止させることなく、部品の交換時期を推測することが可能

スポンサーリンク
 

バラ積みピッキング

箱にバラバラに置かれた部品を、ロボットにピッキングさせる際に、複雑な作業指示をすることなく動作できることを実現するアプローチ。

  • 手先にRGBカメラを取り付け、RGBカメラの映像をもとに、目標となる把接点を推定するFaster RCNNによって学習
  • 対象物ごとに、多様な把接動作を行えるようになった

食品工場における不良品検出

個体ごとにゆらぎが大きい食品原料でも、良品・不良品や異物混入の検査、仕分けを人手に頼ることなく自動的に検出を行う。

  • 製造ラインに流れる良品をカメラで撮影し解析
  • 正解・不正解を判断する分類器ではなく、良品の特徴量から不良品や異物を検出する(異常検知アプローチ)

その他の事例

  • 検査工程での異音検査
  • 音響解析
  • 加工制御最適化
  • 工業デザイン生成補助

画像生成のための深層生成モデル

f:id:itry:20190226221523j:plain

変分オートエンコーダ

変分オートエンコーダ(Variational AutoEncoder:VAE)は、可視層と隠れ層からなるオートエンコーダを活用した画像分野における深層生成モデルである。
変分オートエンコーダでは、入力を固定された表現に圧縮するのではなく、統計分布に変換することで、平均と分散を表現するように学習する。
そこから、ランダムにサンプリングそた点をデコーダによって復元することで、新しいデータが生成される、という仕組みになっている。

スポンサーリンク
 

敵対的生成ネットワーク

敵対的生成ネットワーク(Generative Adversarial Network:GAN)は、ジェネレータ(Generator)とディスクリミネータ(discriminator)の2種類のネットワークで構成されている。

ジェネレータは、入力として潜在空間のランダムベクトルを受け取り、画像を生成して出力する役割をする。
ディスクリミネータは、入力として画像を受け取り、それが本物か、ジェネレータによって生成されたものかを予測して出力する役割をする。

ディスクリミネータの予測結果は、ジェネレータにフィードバックされていくが、ジェネレータは、ディスクリミネータが予測を間違えるような画像を生成するように学習していき、ディスクリミネータは、ジェネレータが生成した画像であることを見抜けるよう学習していく必要がある。
こうして、まさに敵対的に双方を学習によって戦わせることで、本物と見分けのつかない、新しい画像サンプルを作り出すことができるようになっていく。

この敵対的生成ネットワークに、畳み込みニューラルネットワークを用いて、より高度な画像を生成できるようにしたモデルを、DCGAN(Deep Convolutional Generative Adversarial Network)と呼ぶ。
2016年以降は、GANや、DCGANが画像生成モデルにおいて圧倒的な人気を誇っている。

機械学習でデータを生成する

f:id:itry:20190225220142j:plain
機械学習においては、何かを認識、識別する以外にも、データを生成する生成タスクにも応用されはじめている。

生成タスクには大きく2種類あり、それぞれについて説明する。

データを元に新しく別の何かを生成する
このタスクは、識別モデルの延長とも言える。
これは、大量の文章を学習したLSTMを用いると、ある文字が最初に与えられさえすれば、その次にどうの文字が来るかを予測し、それを繰り返すことにより新しい文章を生成することができる。
音声においても、WaveNetというモデルが、同等のアプローチをとる仕組みになっている。
ただし、音声データも時系列データであるものの、このWaveNetはリカレントニューラルネットワークではなく、一次元の畳み込みニューラルネットワークを用いて音声を生成している。

スポンサーリンク
 

データそのものを生成したい
元データがどのような分布かを推測し、その分布に基づいて、元データと同じようなデータを生成するモデルとなっている。
データを生成することをサンプリングといい、それによって生成されるモデルを、生成モデルと呼ぶ。
生成モデルも、ディープラーニングと組み合わせることで、これまで以上の成果が得られるようになった。
ディープラーニングを取り入れた生成モデルを、深層生成モデルと呼ぶ。

ディープラーニング+強化学習

2013年に、DeepMind社が、ディープラーニングと強化学習を組み合わせたゲームのブロック崩しの動画を公開した。


DQN Breakout
この動画では、人間を上回る記録を残し、大きな反響となった。

この強化学習では、Q学習(Q learning)と呼ばれる手法が使われ、ディープラーニングと組み合わせることで、DQN(Deep Q-Network)と呼ばれ、これ以降、

  • Double DQN
  • Dueling Network
  • Categorical DQN
  • Rainbow

といったいくつかの改良版モデルが開発された。

スポンサーリンク
 

また、2015年には、同じくDeepMind社が開発したAlphaGo(アルファ碁)が人間の世界チャンピオンに勝利し、話題になった。
AlphaGoは、畳み込みニューラルネットワークが用いられ、どのような手を打つかの探索は、モンテカルロ木探索が使われている。

さらには、2017年に、完全に自己学習のみで学習を行なっているAlphaGo Zeroが、AlphaGoを完全に超える強さにまで学習を行い、話題となった。

教師あり学習と強化学習の違い

f:id:itry:20190224210911j:plain
機械学習においては、教師あり学習と、教師なし学習についてこれまで触れてきたが、もう一つ、強化学習というものが存在する。
強化学習とは、行動を学習する仕組みである。
ある環境において、目的とするスコアを最大化するためにどのように行動すればよいか、を学習するものである。
これは、一連の行動系列の結果としてのスコアを最大とするように学習することを意味する。

スポンサーリンク
 

簡単な例として、教師あり学習のケースと比較する。

ロボットの歩行制御に関する学習

教師あり学習の場合
ロボットの関節の角度や動かす速度がどれくらいのときに、どれくらいの歩幅で歩けばよいかを入力と出力のペアで用意し学習を行う

強化学習の場合
歩けやた距離をスコアとして与えることで、歩行距離を最大化するために、自ら行動(歩く方法)を変え、歩行距離が伸びるような学習を行う

決定的な違いは、強化学習では、状態をいかに表現できるか、また、その状態に基づいていかに行動に結びつけることができるか、というアプローチをとることである。

様々なリカレントニューラルネットワーク

f:id:itry:20190224150714j:plain

Bidirectional RNN

通常のLSTMは、過去から未来への一方通行にのみ対応しているが、ケースによっては、過去と未来の両方の情報を使って予測する方が効果的な場合もある。
こういった場合、LSTMを2つ組み合わせることで、過去から未来、未来から過去の両ケースでの学習が可能となる。
このモデルを、Bidirectional RNN(BiRNN)と呼ぶ。

Bidirectional RNNでは過去用と未来用の2つの時間軸に沿って、それぞれ独立してデータが展開されているのみで、構造としては非常に単純なものである。

RNN Encoder-Decoder

入力が時系列の場合、出力も時系列で行いたい場合の問題を、sequence-to-sequenceと呼ぶ。
これは、自然言語処理の分野で研究が進んでいる。

このケースのアプローチも、Bidirectional RNN同様、LSTMを2つ組み合わせることで、入力と出力のそれぞれにLSTMを対応している。
RNN Encoder-Decoderとは、その名の通り、エンコーダとデコーダの2つのLSTMに分かれており、エンコーダが入力データを、デコーダが出力データをそれぞれ処理する。
出力が時系列であるため、全ての出力を一気に行うことができないため、デコーダの出力を、次のステップの入力として受け取って処理することになる。

スポンサーリンク
 

Attention

リカレントニューラルネットワークでは、その時点の状態が、まとまって過去の隠れ層として反映されており、どの時点がどれだけ影響を持っているか、までは直接的に行うことができない。
Attentionは、時間の重みをネットワークに組み込んだもので、過去の時点それぞれの重みを学習することで、時間の重みを考慮したモデルを実現している。

ただし、直近の過去しか重み付けできないのではないか、という指摘があがっている。