プログラミングスクールによるリスキリング

 最近、リスキリング(Re-skilling)という言葉がネット上で見る機会が増えてきた。リスキリングとは、経済産業省の審議会の資料によれば「新たにスキルを身につけること」と定義されている。HRペディアによれば「職業能力の再開発、再教育」とされている。現在注目されている背景と目的は経済産業省の審議会でリクルートワークス研究所 人事研究センター長 石原直子氏が発表した資料に、「新しい職業に就くために、あるいは、今の職業で必要とされるスキルの大幅な変化に適応するために、必要なスキルを獲得する/させること」と表現されている。

 AI/IoTに代表されるデジタルテクノロジーを活用したDX(デジタルトランスフォーメーション)が注目されていることや、政府が掲げている成長戦略の一つとしても注目されている。(日本経済新聞「成長シフトへ再教育 政府、制度拡充で30万人支援」

 そのような動きの中で、「リスキリング=プログラミングだ!!」のような反射神経を刺激するかのように、巷では社会人向けのプログラミングスクールが盛んになっていると聞く。しかも、著名なYouTuberも、「プログラミングは将来のために身につけておいた方がいいですよ。」とか言っているためか、ニーズは高いようである。

 実はプログラミングといっても幅が広い。Webやアプリのフロントエンドの用途とバックエンドの用途では細部が異なる。また、教育のゴールも様々である。小学生のようにプログラムの論理的な思考を身につけるのもプログラミング教育であるし、用途に応じたプログラミング言語の使い方を身につけることや、プログラミングを効率化するフレームワークの使い方を身につけるのもプログラミング教育である。

 「リスキリング」時代前まではプログラミング教育というと主に大学や、専門学校での教育がメインであった。しかし、大学の情報関係の学部・学科やソフトウェア系の専門学校以外の場合、あくまでカリキュラムの一つとして半年または1年間の講座としてコンピュータやソフトウェアに関する基礎や現状の知識をさらっと教えているだけであり、研究室等で本格的にプログラミング技術を利用、獲得している学生は少数派であると考える。

 以前、所属していた企業の新卒採用面接で面接官としてプログラミング経験の有無について質問をしていたが、経験があると回答した学生のほとんどが「授業でサWebサイトを構築した際にプログラミングをした」という回答をしていた。さらに授業以外でプログラミングした経験の有無を質問をすると、ほとんどの学生は未経験であり、まれにサークルのメンバー管理サイトやスケジュール調整用サイトを構築したという回答がある状況であった。

 「リスキリング」時代のプログラミング教育はどのようになるのであろうか。文科省の方針によって小中学生時点でのプログラミング教育の充実や高校、大学でのデータサイエンスの拡大が図られるので初学者の幅は広がると予想する。現在の社会人の教育としては、書籍やネットを活用した独学、UdemyやCourseraなどのオンライン教材の活用、講師やメンターによるプログラミングスクールなどの方法が考えられる。1番目の独学はコストが最もかからないが初学者にとってはプログラミング環境構築だけでも一苦労であり、理解できない内容があった場合にどのように解決すれば良いかが判断がつかずハードルが高い。2番目のオンライン教材は、コストも安く講師が順序立てて動画で説明わかりやすく説明しているため1番目よりはハードルが低いが、プログラミング環境構築のハードルは残る。3番目のプログラミングスクールは、内容が理解できない場合に質問できる体制が準備されており受講者が困らないようになっているが、学費の相場感としては、HTML,CSSの3ヶ月教育であっても20万円〜70万円と非常に高額である。どの方法でも自分のベースにあった方法を選べば良いと考えるが、懸念点としては、どの方法も教育を受講するだけで企業にとっての即戦力となる人材になるというわけではないということである。特に、プログラミングスクールの中には「受講すると転職できます」(いくつかの規定があるらしいが・・)という内容を特徴にしているスクールもあるが、私は思い通りに転職できるか、転職後に活躍できるかは受講内容をいかに業務に活かすかという努力に懸かってると考える。

 私も一時期、プログラミングスクールにてpythonによるAI/機械学習入門のメンターとして従事していたことがあったが、その際に、受講生から、「この内容を受講終われば企業でAIエンジニアとして活躍できるんですよね」と言われて回答に困ったことがあった。講座自体は市販されている書籍にある機械学習で何ができるか紹介されている代表的・簡単なpythonのコード例を一通りpythonで動作させてみるというものであった。したがって、その講座を受講完了したからといって、企業側の開発現場の担当者としては「はい採用!!」とは言いにくいと常々思っていたからだ。ましてや、アルゴリズムもプログラムの基本的な内容も理解できておらず、単純に書籍の内容通りにコードを打ち込んだだけで動作しないと質問してくる受講生に直面した際には、ビジネスとはいえ、このプログラミング講座の受講を認めることは受講生本人にとってプラスになるのだろうか?と疑問を感じた。

 教育全般に言えることであるが、教育を受けたことによって全てがうまくいくわけではなく、それを応用し自らがスキルを高めるという努力を継続することが重要であると私は考えている。義務教育は、受けさせる、受けることに意味があったが、社会人になってからの「リスキリング」は「何のために」(目的・目標)、「どう活用したか(するか)」(目標評価)が大切である。

 結論としては、プログラミングに関するリスキリングに関する要は、受講者一人ひとりが自分の業務にてどのようにデジタルを活用するかということを考え、教育がその業務に活かす意識を持って教育に臨めるかということである。

自動運転アルゴリズムのオープンソース

最近、自動運転について投稿をしてきたが、最後に自動運転アルゴリズムのオープンソース化の流れについてまとめてみる。

自動運転という技術は、その対象である自動車がなくては実現不可能な技術であるため主な開発企業はToyotaやAudi,BMWなどの伝統的な自動車メーカーである。しかし、自動運転アルゴリズムは、人間の認知機能の代替手段であるため、自動車の動作原理や動的特性、制御機構とは切り離して考えることが可能である。したがって、Googleのような情報処理を取り扱う企業、Teslaのような電気自動車会社でも開発が可能である。自動車メーカーとは異なる組織によって開発された自動運転アルゴリズムの一部はオープンソースとしても公開されている。

Autoware(名古屋大,TierⅣ etc.)

  • AutowareはROSベースのオープンソースソフトウェア
  • 自動運転移動体をオープンシティエリアに展開することを可能するモジュールを提供
    • 位置特定 :GNSS  およびIMUセンサーを組み合わせた3Dマップ及び SLAMアルゴリズム  によって実現
    • 物体検出:センサーフュージョンアルゴリズム、ディープニューラルネットワーク(YoLo,SSDなど)を備えたカメラとLiDARを使用
    • 予測と計画: 確率論的ロボティクス とルールベースシステムに基づく(一部にディープラーニングを利用)
  • 車両への出力:車両制御系への入力となる速度と角速度(舵角)
  • Autowareは自動運転技術のための完全なソフトウェアスタックを提供

Apollo(Baidu etc.)

  • AutowareはROSベースのオープンソースソフトウェア(最新版はBaidu独自のCyber RTに移行)
  • Apolloは、パートナーが車載およびハードウェアプラットフォームを通じて独自の自律走行システムを開発するための、オープンで信頼性の高い安全なソフトウェアプラットフォームを提供
  • Apolloが提供するモジュール
    • 世界をリードするHD地図サービス
    • 唯一のオープン自律運転シミュレーションエンジン
    • End-to-Endディープラーニングアルゴリズム
  • Apolloは自律走行車の開発、テスト、そして展開を加速する。参加が増えるにつれて、より多くの蓄積データが利用可能
  • クローズドな研究開発系と比較してApolloはより早く進化し、プロジェクトメンバーにより大きな利益をもたらし、そして継続的に成長

NVIDIA® DriveWorks(NVIDIA)

  • Drive OS
    • DRIVE OS には、センサー入力処理のための NvMedia、効率的な並列コンピューティング実装のための NVIDIA CUDA® ライブラリ、リアルタイムに AI 推論を行うための NVIDIA TensorRT など、ハードウェア エンジンにアクセスするための開発者向けのツールやモジュールが含まれる
  • DriveWorks
    • 自動運転車開発に欠かせない、DRIVE OS 上で動作するミドルウェア機能を提供。DriveWorks には、センサー抽象化レイヤー (SAL) やセンサー プラグイン、データ レコーダー、車両 I/O のサポート、ディープ ニューラル ネットワーク (DNN) フレームワークが含まれる。DriveWorks はモジュラー型かつオープンで、自動車産業のソフトウェア規格に準拠するように設計されている。
  • Drive AV
    • DRIVE AV ソフトウェア スタックは、認知レイヤー、マッピング レイヤー、プランニング レイヤーのほか、高品位な実世界の運転データでトレーニングされたさまざまな DNN で構成されており、自動運転とマッピングのどちらにも活用可能。プランニングと制御のレイヤーでは、NVIDIA Safety Force Field 計算処理モジュールが、プライマリ プランニング システムのアクションをチェックし、車両を衝突から守る。
  • Drive IX
    • DRIVE IX は、車室内をセンシングするオープン ソフトウェア プラットフォームで、革新的な AI コクピット ソリューションを提供する。DRIVE IX は、先進のドライバーおよび搭乗者モニタリング、AR/VR ビジュアライゼーション、車両と搭乗者間の自然言語インタラクションを実現する機能や DNN を使用した、認知アプリケーションを提供する。

(現状の)自動運転を過信する人間

前回、自動車が完全自動運転になるまでに、段階が5段階設定されており、現在ではレベル2〜3の間であることを紹介した。つまり、現在では、運転者である人間は、完全に運転を自動運転システムに任せることは認められておらず、限定された場面以外では運転に介在する、または、限定された場面でも自動運転システムの動きを監視し、安全ではないと認識した場合は即時に介入できるように備える必要があることを示している。しかし、現実では、そうした条件を運転手が理解せず自動運転システムを過信して利用した結果、事故を回避することができないという不幸な事象が発生している。もちろん、運転総時間に比較すれば事故発生率は低いため、この事例をもって自動運転は危険だ、と主張する気は全くない。ここでは、完全自動運転システムが開発される前の段階ではシステムを過信することなく適切に利用する必要があるということを考えたい。

テスラ Model Sがトレーラー側面に衝突

 2016年5月7日、オートパイロットを作動させた「Model S」のドライバーが米フロリダ州の中央分離帯のあるハイウェイ(幹線道路)を運転中、前を横切った大型トレーラーの側面に衝突し、死亡した。現場は信号のない交差点で、トレーラーが対向車線から交差点を左折中、側面にModel Sが突っ込んだという。 テスラは当初、事故の原因として日差しの強さを挙げ、白いトレーラーが日光を反射したことでシステムもドライバーもトレーラーを認識できなかったとする見解を発表 ´国家運輸安全委員会(NTSB)の調査後の報告によると、ドライバーは事故当時「部分的な自動運転システム」を稼働していたが、ハンドルに手を添えていなければならない37分間のうち、わずか25秒間しか手で触っていなかったことが明らかになっている。システム側はドライバーに対し、ハンドルを握るよう警告を7回出していたという。 テスラはその後、2016年9月に警告にドライバーが反応しなかった場合は自動運転機能を使用不可にするなどの仕様変更を発表している。また、NTSBは車自体には欠陥がなかったと結論づけた。

テスラ Model Xが高速道路で衝撃緩和用バリアに衝突し炎上

 2018年3月23日、オートパイロットを作動させた「Model X」のドライバーが米西部カリフォルニア州の高速道路を運転中、中央分離帯に衝突・炎上し死亡した。 ´テスラの発表によると、事故は高速道路分岐点のコンクリート壁の前に置かれている衝撃緩和用バリアへの衝突で、衝突前の150メートルにわたり車線を外れて走行していたという。また、車線を外れていた約6秒の間、ドライバーはハンドルを握っていなかったとしている。 一方、死亡したドライバーの遺族は、過去に事故現場で何度もオートパイロットが車線を外れて中央分離帯の緩衝バリアへ向かって行きかけたことを主張し、オートパイロットの不具合を指摘している。 NTSBが同年6月に発表した予備調査結果によると、Model Xは衝突の18分55秒前にオートパイロットをオンにして、前走車両に追随して時速65マイル(約104キロ)で走行していた。衝突の15分前にはオートパイロットがハンドルを握るよう警告を発し、男性はそれに従ってハンドルを握っていた。その後もハンドル警告は3度発報され、その都度ドライバーはハンドルを握っていたという。 ´衝突の7秒前にオートパイロットがハンドルを左に切る動作を開始衝突4秒前には完全に前走車両の追随から外れたと認識したため、クルーズコントロールの設定上限速度に向けて加速し始めた。衝突の6秒前に再度ハンドル警告が発生しているが、その際にハンドルを握ったというデータは残っていなかったという。

ウーバーが自動運転中に歩行者と死亡事故

 アメリカのライドシェア最大手であるウーバーテクノロジーズ社の自動運転車が2018年3月18日、自転車を押しながら車道を渡っていた49歳の歩行者を時速約64キロではねて死亡させる事故をアリゾナ州で起こした。 ´事故は自動運転車が自動運転システムを稼働させていたときに発生した。当時は運転席には自動運転システムの稼働状況を監督する「人」も同乗していた。この事故を受け、ウーバーテクノロジーズ社は北米4都市の公道での走行試験を中断した(その後、2018年12月に実証実験を再開している)。 この死亡事故は、自動運転において世界で初めて歩行者を死亡させた事故 ´原因としては、センサーで検知した物体のうち、無視してOKなものとそうでないものをソフトウェアで判定する機能の判定基準が「無視してOK」寄りに、つまり、感度が低い設定になっていた。(高感度(安全サイド)になっていると急ブレーキが頻発し、乗り心地が悪いと判断した模様) モニターすべき運転手が事故発生直前に携帯電話でテレビ番組を視聴していたことなども明らかになっている。 ベースになっているボルボの緊急自動ブレーキシステムはオフにされていた。

自動停止」付きと勘違い 業務上過失傷害容疑で車販売店員ら書類送検 千葉県警

自動車販売店で新型車を体験試乗した男性客(38)が追突した事故。事故は、同乗したこの男性社員の「勘違い」が原因だった。男性客が運転支援機能を体験するため新型車を走行中、同乗の男性社員は「本来はブレーキを踏むのですが、我慢してください」などと指示。客はブレーキを踏まず、そのまま前に止まっていた車に追突し、追突された車に乗っていた男女2人にけがを負わせたとしている。男性社員は、事故を起こした新型車に前方の危険を検知して自動停止する最新の機能がついているとして男性客に指示。しかし、実際には自動停止する機能はなかった。男性社員は客に対し、勘違いして「時速40キロの設定速度で走行すると、前方の停止車両を検知して自動停止する」などと誤った解説をしていた。県警は、監督責任があるとして、男性社員の上司に当たる販売店の男性店長(46)も同容疑で書類送検。さらに、実際に運転していた男性客も自動車運転処罰法違反(過失運転致傷)の疑いで地検に書類送検した。

豪雨時の自動ブレーキは過信禁物、40km/hで衝突のおそれ JAF検証

JAF(日本自動車連盟)は、豪雨時の衝突被害軽減ブレーキ(自動ブレーキ)の作動について検証を行い、その結果を7月17日よりホームページに公開した。 テストは日本自動車研究所特異環境試験場(茨城県つくば市)で実施。天候は雨のない状況と、気象庁用語で「猛烈な雨」とされる雨量80mm/h、速度は30km/hと40km/hを設定し、自動ブレーキが適切に作動して、障害物との衝突を回避できるのかを検証。 雨が降っていない状況では、30km/h と40km/hのいずれの速度でも、障害物の手前で停止。 ´雨量80mm/hの場合、30km/hでは停止できたが、40km/hでは障害物を一瞬検知したものの、自動ブレーキが作動せず、障害物に衝突。JAFでは、車種、検知システム、雨量、速度などによって結果は異なると前置きした上で、自動ブレーキはドライバーのミスをカバーしたり、衝突時の被害を軽減するものだが、悪天候時は正常に作動しないこともあるので、機能を過信しないことが大切だと注意を呼びかけている。

自動運転の自動化のレベル定義

ここ最近、自動運転を支える技術について投稿しているが、今回は、自動運転を実現するまでの過程を明確にする、自動化のレベル定義について紹介する。この定義は、自動運転に関する情報サイトには掲載されており、一般的に引用されるので知っておきたいところだ。完全自動化に向けての過程は以下の5つのレベルに分けて定義されている。

現状の自動運転のレベルは、レベル2からレベル3への過渡期 となっているようである。日本ではレベル2以下の自動車は「自動運転機能」の表示ではなく「運転支援機能(ADAS)」と表示することでメーカーと国土交通省で合意があり、最近ではADASを搭載車の一部はサポカーと呼ばれている。

レベル3の定義をわかりやすく言うと、ある場面に限定しすべて自動で運転(加減速、操舵)できるが、運転手は自動運転の障害発生を監督し、障害があると思った場合または自動運転システムが運転手の介入を要請した場合、運転を交代する、程度の自動化である。もうじき販売されるホンダのレジェンドのレベル3は、高速自動車道路での運転に限定した機能である。

世界初のレベル3の市販車として2017年にドイツのアウディA8が発表されたが、実際には販売されておらず、実際に市販される製品としてホンダのレジェンドが世界初になる。 BMWは2021年にレベル3量産へという計画も以前発表されているため、来年以降本格的な自動運転時代が到来することが予想される。

レベル4は、自動運転場面は限定されるが、障害発生時に運転手の介入を要求しないということであり、レベル5は完全自動運転(場面を限定しない)である。レベル4までは、運転手が運転する場面があるため、現状の操作デバイス(ハンドル、アクセル、ブレーキなど)は装備するが、レベル5になると、運転する場面が想定されないため、SFやコンセプトカーなどに見られるようにハンドルも、アクセル、ブレーキもない車両になる。

レベル0(運転自動化なし):運転者が全ての動的運転タスクを実行(予防安全システムによって支援されている場合も含む)

レベル1(運転支援):運転自動化システムが動的運転タスクの縦方向(進行方向)又は横方向(操舵方向)のいずれか(両方同時ではない)の車両運動制御のサブタスクを特定の限定領域において持続的に実行。この際、運転者は残りの動的運転タスクを実行する事が期待される 。

レベル2(部分運転自動化):運転自動化システムが動的運転タスクの縦方向及び横方向両方の車両運動制御のサブタスクを特定の限定領域において持続的に実行。この際、運転者は動的運転タスクのサブタスクである対象物・事象の検知及び応答を完了し、システムを監督する事が期待される 。

レベル3(条件付き運転自動化):運転自動化システムが全ての動的運転タスクを限定領域において持続的に実行。この際、作動継続が困難な場合への応答準備ができている利用者は、他の車両システムにおける動的運転タスク実行システムに関連するシステム故障だけでなく、自動運転システムが出した介入の要求を受け容れ、適切に応答することが期待される。

レベル4(高度運転自動化):運転自動化システムが全ての動的運転タスク及び作動継続が困難な場合への応答を限定領域において持続的に実行。作動継続が困難な場合、利用者が介入の要求に応答することは期待されない

レベル5(完全運転自動化):運転自動化システムが全ての動的運転タスク及び作動継続が困難な場合への応答を持続的かつ無制限に(すなわち、限定領域内ではない)実行。作動継続が困難な場合、利用者が介入の要求に応答することは期待されない。

SLAMについて

前回投稿で、LiDARについて書いたが、LiDARが最も定常的に利用される環境と予測するのが自動運転である。LiDARは、どのように自動運転に貢献しているのか?動作原理がレーダに似ているので、いわゆるサポカーの一部で利用されているミリ波レーダのような用途であろうか?実はSLAM(Simultaneous Localization and Mapping:スラム)と呼ばれる自己位置特定と周辺地図生成を同時に連続的に行うアルゴリズムで利用される。

自己位置と地図というキーワードを目にすると、GPSによるナビゲーションを思い出し、「それならもうすでにカーナビでできてる」と思うかもしれない。しかし、GPSによる位置情報は数メートル〜数10センチ単位で誤差があり、かつ、GPS衛星電波の受信状況によっては誤差が大きい、位置が特定されないなどの問題がある。また、カーナビで利用される地図は、道路、建物図であるが、それだけを見ていては運転操作はできないという問題がある。実際に車両を運転する場合には、まわりの状況や対抗車、歩行者など細部走行に適不適を判断するとともに、逐次変化していく状況を判断して、場合によっては1メートル以下の単位の精度で運転操作を人間は行っている。

SLAMは、建物以外の障害物と自動運転車との間の高精度な相対的位置認識を実現する技術として利用されている。対向車や歩行者などのような逐次変化する環境の把握につては、サポカーにあるようなミリ波レーダや、AIによって急速に進化している画像認識技術による物体認識アルゴリズム(YoLo,SSDなど)によって実現されるが、樹木や道路標識などの障害物、実際に走行可能な道路幅などが認識可能な地図を生成し、それに応じて自己位置を高精度に決定し、予測していくにはSLAMが必要になる。

詳細は触れないが、もともとはSLAMはロボット向けに15年以上前に考案されたアルゴリズムであり、ベイズ確率論に基づく確率論的モデリングによるアルゴリズムである。その理論を自動車に搭載し自動運転に応用したのがいわゆるGoogle Carである。同様に最近ではロボット掃除機にも搭載されつつある(2015年以降はルンバにもVisual SLAMが搭載されている)。このように応用範囲は広く、今後は自動運転車のみならず自律移動するすべての機器に搭載されていくと考えられる。

自己位置と地図を同時に生成していくとはどういうことであろうか。人間の行動を例にしたイメージ的な話になるが、ある既知の特定の場所から未知の場所に移動をしたとする。この時点では、その経路はまわりの景色も目印も初めてであるため道路地図を参考に不安を持ちながら走行し、風景の記憶は運転の記憶とともに記憶するだけである。しかし、次回からは道路地図だけでなく、こっちに行けばxxxの看板が見える、とか、高い建物が見えるとかの風景の記憶もあり、より細部がわかるので安心して移動ができる。もし、一本道を間違ったとしても、修正するように進行しその先に、「前にみた風景」が出現すれば、「あーここに出るんだー」という言葉とともに、想定していた道にでたことを理解し(SLAMではこれをLoop Closureと呼ぶ)、また安心な移動を継続するとともに、新たに経験した道の風景を記憶して移動の選択肢を増やしていくことになる。これが自己位置認識と地図生成を同時にするということである。参考に、以下に弊社の簡単な自動運転ロボットカーで室内を走行しSLAMで生成したMapの例を示す。図の紫色の線(曲線)が人間の指示によって走り回った軌跡であり、白色の部分が測定されSLAMによって空間と認識された領域であり、グレーの部分が障害物として認識された領域である。このように空間と障害物を詳細にMapとして認識することで、それ以降は自動的に自己位置からどれだけの方向、距離に障害物があるかということを自己位置とともに逐次認識しながら移動経路を決定することが可能になる。GPSによって大まかな位置を知り、SLAMによって高精度な自己位置と周辺の地図を認識し、カメラ画像による物体検出でリアルタイムの周辺移動物を認識することで、人間並み(以上?)の状況認識が可能となり自動運転が可能になる。

大別するとSLAMには、カメラなどの画像情報から周辺物の3次元情報(輪郭、位置)を推測するVisual SLAMと、LiDARによって3次元情報を計測する(LiDAR) SLAMがある。通常、両方区別なくSLAMと呼び、画像情報を用いるアルゴリズムを指す場合に限りVisual SLAMと呼ぶことが多い※1。2019年にテスラモータのCEOイーロン・マスクは自動運転の開発にあたり、人間は視覚情報を主として用い運転をしていることからLiDARは搭載せず自動運転を実現すると明言している※2。主な自動運転開発のプロジェクトではLiDARを利用することがそれぞれ示されている。現時点では、LiDARを用いた方が物体の3次元形状や相対距離を計測することが可能であり、そのデータをSLAMに入力すると高精度で自己位置と周辺地図を生成することが可能となる。Visual SLAMは人間同様に画像情報からの推定になるが、現時点では精度という面ではLiDARによるSLAMまでは達していない。Visual SLAMでは奥行きを含む3次元形状を2次元画像からどのようにして認識するかという課題があるが、従来はMicrosoftのkinectのような2つ以上のカメラの画像(ステレオカメラ画像)から奥行きを推定するSLAMが精度が得られるとされていたが、近年では単一のカメラの画像(monocular)から推定するSLAMも精度が高くなりつつある※3。

書きたいことはまだあるが、長くなったので今回はここまでとする。

※1 https://www.youtube.com/watch?v=NMFsEpVppZM

※2 https://jp.techcrunch.com/2019/04/23/2019-04-22-anyone-relying-on-lidar-is-doomed-elon-musk-says/

※3 Depth from Videos in the Wild: Unsupervised Monocular Depth Learning from Unknown Cameras

https://arxiv.org/abs/1904.04998

LiDARについて

10月にAppleからiPhone12が発売された。iPhoneは新製品になるたびになんらかの新しい技術が搭載されているので毎回楽しみにしている、(とはいえ昔のように毎年買い替えたりはしないが)。今回の目玉は5G通信対応だろう。しかし、私が注目しているは、iPhone12Pro/MAXにLiDAR(ライダー)を搭載したということだ。

LiDARとは赤外線やレーザー光などを用いて対象物との距離を計測する装置である。正式な名称はLight Detection And RangingもしくはLight Imaging Detection And Rangingであり、航空管制や防衛分野で広く利用されているRADAR(レーダ)と概念は同じであり、レーダは、Radio(電波)を使うのに対しLiDARはLight(光)を使う。電波は減衰が少ないので(周波数帯域にもよるが)数百km先の物体を検知することが可能であるのに対し、光は減衰が大きいため最大でも数百m先の物体の検知にとどまる。また、LiDARは出力パワーが小さくて済むためにiPhoneはVCSEL(垂直共振器面発光型レーザー)という小型チップで実現している。

iPhoneがLiDARを搭載することによって、カメラの夜間でのフォーカスやAR(Augmented Reality)がより向上すると言われている。ARはカメラのレンズで捉えた対象物と、CGを合成することで現実を拡張する技術である。CG合成には、遠近感に応じた適切な縮尺でCGを表示する必要があり、遠近感を認識するためiPhoneと対象物の距離を知る必要がある。ARは以前にiPhoneにも搭載されていたが、それほど高機能ではなかった。従来はカメラに写った像から距離を予測していたがその方式はLiDARで測定するほど精度が高くなかった。また、カメラの像に依存するため夜間など輪郭が明確でない環境では利用が困難だった。それに対してiPhone12 Pro/MaXはLiDARを搭載することで物理的に距離を計測することが可能となるため、夜間でも高精度で対象物との間の距離が認識でき、フォーカスが良くなるとともに、ARの利用も可能となる。

LiDARで広がりをもってスキャンすることによって、対象物が存在する空間と存在しない空間を認識することが可能となる。しかも、細かな距離の違いを認識することが可能となる。つまり、対象物の3次元的位置・形状を計測することが可能となるということである。

iPhoneよりも前にこの技術を応用しているのが自動運転技術である、この画像にある自動車のルーフに乗る形で搭載されているのがLiDARである。自動運転ではコンピュータが人間に代わって常に360°全方向の障害物の有無と3次元形状をリアルタイムで知る必要があるため、スキャン方向は一定速度で機械的に回転している(余談だが空港などに設置されているレーダも同様の理由で回転している)。現在、市販されている運転支援機能つき自動車(自動運転機能レベル2相当)ではセンサーとして主にミリ波レーダとカメラが利用されいるが、自動運転機能のレベル3以上の自動で判断し操舵するタイプの自動運転車では周囲状況を3次元的な形状レベルで認識することが求められる。LiDARはSLAM同様にレベル3以上の自動運転の基礎技術と言われ、自動運転車には数台〜十数台が搭載され自動運転車の周囲認識・予測情報の元を計測するとプロトタイプでは設計されている。画像のような回転型ではなく、iPhoneのような固定型を車体の四隅などエッジに搭載することで、最近の自動運転車はコンパクトかつスタイル的に違和感がなくなっている。

自動運転に必要される距離(数十m〜数百m)まで計測可能なLiDARの価格は、数年前まで1台100万円台と高額であったが、近年、製造企業が増え低コスト化が進みつつあり1台数十万円まで下がりつつある。自動運転車の普及には価格を下げることが必要であり、そのためにはLiDARの低価格化も必須であると考える。

※数mの計測能力のLiDARであれば、1万円程度でAmazonで入手可能である。https://www.amazon.co.jp/RPLiDAR-A1M8-%E3%83%AC%E3%83%BC%E3%82%B6%E3%83%BC-%E3%82%B9%E3%82%AD%E3%83%A3%E3%83%8A-%E3%82%AD%E3%83%83%E3%83%88/dp/B07J9HSWJ6/ref=asc_df_B07J9HSWJ6/?tag=jpgo-22&linkCode=df0&hvadid=280371677441&hvpos=&hvnetw=g&hvrand=13045166321911298224&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=1009501&hvtargid=pla-640104653997&psc=1

携帯料金の値下げについて(個人的雑感)

現政権になって携帯料金の値下げの圧力が大手3社にかかっている。この動きについて、利用者としては望ましいことと思っているが、いろいろと腑に落ちない疑問がある。(素人の疑問です)

1.これってデフレの動きに影響しないの?
 前政権では、目標としてデフレを脱却するというのを掲げていたと記憶している。ここで携帯料金の値下げをしたら、携帯会社側では原価低減化の動きが起こり、結果、関連産業で賃金低下となり、消費が冷え込むのでは?一部の分野だけだからいいのか?

2.格安スマホ企業の立場は?
 格安スマホ企業(大手の小会社以外の会社)は、いろいろ工夫をして価格差があるスマホを提供してきたのに、大手が値下げをすることで魅力が薄れるのではないか?MVNOの使用料金もさげるのか?

3.大手の発表内容って、これ値下げ?
 今の段階で見ていると、大手(現時点でドコモは未発表)の戦略は、自社もしくは小会社による低価格のメニューの提供であるが、これを値下げというのか?なぜ、現在のメニューの価格を下げるのではなく、新しい低価格メニューの発表なのか?(現行メニュー同様にいろいろオプションを薦めて契約させ、結局サービス内容をわかりにくくするだけでは?)
 

AVRI(自動運転対応指数)

AVRIをご存知であろうか?AVRIはAutonomous Vehicles Readiness Indexの略称であり日本語では自動運転対応指数というものである。AVRIは世界四大監査法人の一つであるKPMGインターナショナルが毎年発表している30の国と地域を対象とした自動運転に対する準備状況を指標化したデータである。KPMG Japan(https://home.kpmg/jp/ja/home/media/press-releases/2020/08/avri2020.html)の表記を引用すると

「本調査は、28の指標を用いて30の国と地域を評価し、AVの展開とイノベーションを進めるうえでの準備状況を評価しています。指標は政策と法律、テクノロジーとイノベーション、インフラストラクチャー、消費者の支持という4つを柱として編成されています。本調査は2020年1月~5月にかけて行いましたが、多数の指標を用いているため、一部の内容は、当該期間の以前もしくは以降の内容を含んでいます。2020年自動運転車対応指数に関する情報については、Autonomous Vehicles Readiness Index (AVRI) のサイト(英語版)をご覧ください」

となっている。上記にKPMG Japanサイトには2020年の上位10カ国と日本を昨年の順位を比較した表が示されており。それによると日本は昨年より順位を一つ下げ11位となっている。

上記Autonomous Vehicles Readiness Index (AVRI) のサイト(英語版)のレポートによると日本の評価は以下のようになっている。Technology and innovationは自動運転に関する特許数が1位であることが評価された結果であり、Infrastructureは携帯電話向け電波4Gのカバレージが広いことや道路の整備状況が良い、ドライバーのマナーが良いことが評価されている。一方、Policy and legislationやConsumer Acceptanceは自動運転を推進するような政策や法律整備が上位国に比較して遅れていることが指摘されている。また、日本のレポートには、日本特有の狭く入り組んだ道やトンネルにおける課題解決や、IoTエンジニアやAIエンジニが不足していることも指摘されている。

  • Policy and legislation 18位
  • Technology and innovation 3位
  • Infrastructure 6位
  • Consumer Acceptance 18位

最近興味があるもの

このブログを再開して、今日で4日目である。とりあえず三日坊主は免れたようである。今日は軽めの記事となるが、今後の記事の前置きとして、最近私が興味があるものを書きたい。

  1. Transformer技術の応用
  2. 深層強化学習の応用
  3. AIとVRの融合

1は、これまでも触れてきた、2018年より急速に進化しているTransformerが、自然言語を超えた分野でどのように応用されていくか、また、各分野をどのように進化させるかということである。この点については、弊社にもいろいろ相談がきており第三者というよりは開発の張本人として考えていきたい。

2は、教師信号を必要とする教師あり学習、教師信号がなくても大量のデータから抽象化された情報を学習する教師なし学習とは異なり、全体の流れ、挙動の結果から最も良い結果となる方策を学習する強化学習についての現在の状況を知りたいと考えている。

3は、単純に最近、Oculus Quest2を購入したからである。まだ、ちょっとゴーグルが重いので長時間の装着に難点があるが、没入感については満足である。これでゲーム以外のコンテンツが揃えば市場が大きく成長していくと思われる。VRとAIを組み合わせることで、VR環境でシミュレート/経験し、大量にデータ得て学習を行うことで、今までにないAIを構築することが可能となるなどが考えられる。

サーシャはプログラミングが大好き 

今日、ふらっと近所の本屋に入ってプログラミン専門書コーナーを見ていると、「サーシャはプログラミングが大好き コーディングと出会った少女の物語」という薄い本が目に入った。

この本はアメリカのサーシャ・アリエル・アルストンという21歳の大学生の女性が、アメリカ(でも!)STEM(科学、技術、工学、数学)分野に興味を持つ女子高校生が1%に満たないことを危惧し、子供のころからコーディングに関心を持ってもらうように執筆した短編の本である。ほんとに薄く20分もあれば完読できるぐらいで、ストーリーも「物語」という割に単純で、サーシャというワシントンDCに住む小学生の女の子が、大手IT企業のエンジニアの母親のすすめでサマーキャンプでコーディングを学び、プログラムをつくる喜びを知る、という話である。

なぜ、この本を読もうと思ったかというと、パラパラと眺めたときに目に入った次のキーワードが日本のプログラミング教育にも必要だなあと思ったからだ。

  • C(Communicate) 伝える
  • O(Organize)まとめる
  • D(Demonstrate)やってみせる
  • E(Express) 表現する

C,O,Dについてはコンピュータと人間のやりとりを示すキーワードだが、Eについてはプログラミングする目的に関する内容であり、文中では母親がサーシャに

「Eは『Express(表現する)』を意味するの。パソコンが、あなたが教えたことを間違えず正確にやることを覚えたら、あなたはあなたが作ったものや解決した問題を誰かと共有することができるの。それってすばらしいと思わない?」

と教えている箇所がある。この「誰かと共有する」というのはGithubなどを使って仕事をしているエンジニアには常識となっている考え方だが、それを「すばらしいと思わない?」という言葉とともに教えるのは非常に、これから始める小学生のプロラグミングにも必要な考えだと思う。

私がが大学で学んだプログラミングでは、コーディング結果を「出力して」確認し、想定通りに動作したらそれで終わり、単位が取れるということしか学べず、「表現して誰かと共有する」というところまでは行かなかった。

これからプログラムを学ぶ小学生には、コンピュータを使って自己表現し、その思いを誰かと共有するためにコーディングをするということを理解して欲しいと思った。