Updates

新着情報

コラム

Automotive SPICE GP 徹底解説 その1 ~ GP2.1.1

今回から数回にわたって、Automotive SPICEに定義されている General Practice(以下GPと記載) について書いてみます。皆様ご存じのように、Automotive SPICE のGPは、各プロセスに展開されるため日本語では「共通プラクティス」として翻訳されています。この共通プラクティス、わかるようでわからない。特に実際の作業になると、なかなか腹落ちしないと思われている方も多いのではないでしょうか?私は、その理由は次のような背景があると考えています。  各プロセスに展開できるように、プラクティスの文言を汎用的に記述している 管理に関するプラクティスにおいては、日本と欧米の文化の差が顕著に表れている この辺りを念頭におきながら、 第1弾としてGP2.1.1 についてお届けいたします。日本語の原文は、次のように書かれています:   まず、解釈が難しいのは「プロセス実施目標」ではないでしょうか? プロジェクト作業をしている人にとって「プロセスの実施に対する」と言われた瞬間「何を言っているんだ?」となる方が多いと思います。更に、備考1では、予算目標や顧客納入日がプロセス実施目標の例として取り上げられています。各プロセスに対して実施目標を設定すると書かれているにもかかわらず、予算や納入となるとプロジェクト全体のことのように思えます。私も長い間上手い説明ができずに困っていたことがありました。それが、ひょんなことから自分たちが実践してきた作業に当てはめてみたら、解釈の仕方が見えてきたのです。最近は、下記のような流れで説明をしています。  プロジェクト計画立案時に、プロジェクト全体の目標を設定する例)生産性を前プロジェクトから10%向上する プロジェクト目標を達成するための中間目標を検討する例)設計への後戻りが多い傾向にあるため、設計手法を変更して後戻りを20%削減する例)ビルドエラーが多く結合開始が遅れるため、各モジュールのリリース状況の監視を強化し初期ビルド作業の期間を1週以内とするなど、中間目標を設定することにより、プロジェクト全体目標を達成するための論理的な裏付けをプロジェクト計画時点で明確にするという流れです。参考事例も記載しておきます。   いかがでしょうか?「私たちの事例」では GP2.1.1に書かれている文章を直接表現して言いませんが、各作業で実施すべき指標が明確になっていると思います一方、「良くある事例」では GP2.1.1で書かれていることを直接表現しており、一見良い方法に見えますが、この方法でQCD実績やプロジェクト目標に貢献できるでしょうか? プロセス個別の目標としては良くても、プロセスが線でつながっていないため、プロジェクト全体の効果が予測できません このようにプロセスを断片的にとらえても、良い目標が浮かばないと思います Automotive SPICE は、「私たちの事例」でご紹介したような、各企業のノウハウを汎用的に、かつアセスメントで評価しやすいようにまとめたものです。しかしながら、Automotive SPICEのGPの表現からは、事例のような作業が想像しにくいものになってしまっているのです。 このような事例を見れば、皆さんのプロジェクトでも同様なことを実施していると思います。だだ、この流れだと全てのプロセスに目標が設定できないじゃないか!と言われる方が出てくると思います。上記のように重点的に目標設定して活動する作業と、単純に各プロセスの完了予定日や投入予定工数を計画しておけば、一通りのプロセスに目標が設定できているはずです。特に難しく特殊な事例ではないと思います。Automotive SPICE のプラクティスに書かれている文言にとらわれることなく、プロジェクトとして当たり前のことを実施すれば良いだけなのです。プロセスアセスメントモデルは、アセスメント時に評価しやすい項目として構成されていますが、世の中の開発・管理の流れから外れたものが書かれているわけではありません。自分たちが実施している作業になぞって解釈を考えてみることをお勧めします。アセスメントのためだけに無駄な作業をしても全く意味がありません。少しでも疑問がわいた場合は、このようなアプローチをすることで、解決策が見いだせるはずです。日吉 昭彦

コラム

Automotive 4.0のVAL.1プロセス:検証との違いとその重要性

Automotive SPICE 4.0 に関するコラム、今回は「妥当性確認」プロセスについてお届けいたします。 はじめに Automotive 4.0では新たにVAL.1(妥当性確認)プロセスが追加されました。これまでのV3.1では「検証」が中心でしたが、なぜV4.0で妥当性確認プロセスが追加されたのか、その背景と共にVAL.1プロセスの意義を探ります。 Automotive 4.0のVAL.1プロセス 4.0で新設されたVAL.1プロセスは、エンドユーザとの直接のやり取りを可能にする最終製品が、その運用対象環境において意図した使用上の期待を満足しているという証拠を提供することを目的としています。基本プラクティスは5つ。BP1:製品の妥当性を確認するための妥当性確認手段の仕様化BP2:妥当性確認手段の選定BP3:妥当性確認の実施および結果の評価BP4:一貫性の確保および双方向性トレーサビリティの確立BP5:結果の要約および伝達 SWE.6(ソフトウェア検証)やSYS.5(システム検証)といった「検証」プロセスと比べてみると、「検証」という用語が「妥当性確認」に変わっただけで後はほぼ同じだということが分かります。ではそもそも「検証」と「妥当性確認」の違いとは何なのでしょう。 検証と妥当性確認の違い 検証(Verification)とは、システムや製品が設計仕様を正確に満たしているかを確認するプロセスです。検証は、各開発段階で仕様通りに設計されているか、ソフトやシステムが設計通りに動作するかをチェックします。一方、妥当性確認(Validation)は、前述の通り、システムや製品が実際の使用環境下でユーザーの期待に応えているかを確認するプロセスです。具体的には、システムが設計の意図通りに現実の条件で機能するかを確認します。 例えば、自動運転車の開発において、検証プロセスでは、車両のセンサーが適切に動作し、設計されたアルゴリズム通りに動作しているかを確認します。しかし、VAL.1プロセスでは、実際の道路環境やさまざまな天候条件下で、センサーがどれだけ正確に機能し、システム全体が意図通りに動作するかを確認します。このように、検証は「設計仕様通りに動くか」に焦点を当て、妥当性確認は「実際に期待通りに動くか」に焦点を当てている点が異なります。 なぜV4.0まで妥当性確認プロセスが無かったのか V3.1までの開発プロセスにおいて、妥当性確認プロセスが明確に定義されていなかった理由はいくつかあると考えます。まず、技術的背景です。従来の自動車システムは、比較的シンプルな構造を持ち、個々の部品やシステムが設計通りに動作するかを確認する検証プロセスだけで、十分な品質と安全性を確保できると考えられていました。しかし、自動運転技術などの様々な技術の進化とともに、自動車のシステムがより複雑化し、相互に依存する要素が増えたことにより、設計通りに動くことの他に、様々な条件下でシステムや製品がユーザーの期待に応えるかを探索的に確認することも必要となりました。 次に、ユーザー中心の設計が強調されるようになったことも一因と考えられます。V3.1までのプロセスでは、技術的な仕様に焦点が当てられていましたが、V4.0では、ユーザー体験や実際の使用環境がより重視されるようになり、システムや製品が現実の使用条件下で快適に動作するかを確認する妥当性確認作業の必要性が高まりました。こうした理由により、これまでの検証活動とは別に妥当性確認が重要視され、V4.0でVAL.1プロセスが組み込まれることになったのだと思います。 なぜVAL.1は独立した妥当性確認プロセス群として位置づけられているのか V4.0では、VAL.1が独立したプロセスとして強調されています。その理由は、妥当性確認がエンドユーザーの期待に応えるかどうかをシステム全体の視点で確認する必要があるからです。SYS.5のような検証プロセスは要件通り・設計通りの動作を確認しますが、VAL.1は開発のすべての局面で、実際の運用環境下でシステムがユーザーのニーズに応えるかどうかを評価することが求められます。 例えばソフトウェア開発においては、動作検証だけではなく、モデリングとシュミレーション、プロトタイピング、レビュー等の手法により、要求や設計段階において、実際の使用環境で意図通りに動作するかを評価します。ハードウェア開発においても同様に、熱、振動・衝撃、電気的変動がハードウェアに与える影響を設計段階でシュミレーションする、設計段階での簡易プロトタイピング、レビュー等の手法により、全ての開発段階で、運用条件における信頼性や耐久性を評価します。このように、早期開発段階からの妥当性確認は、後の開発段階での手戻りを減らし、ユーザーの期待に応える製品を効率よく作り上げるために重要です。 ソフトウェア単体、ECU単体の開発ではVAL.1プロセスは関係ない? VDAガイドラインによれば、VAL.1プロセスはエンドユーザーと直接関係するシステムや製品が対象であり、純粋な組込みソフトウェアやECU単体、モーターとECUの駆動システムなどは対象外とされています。これは、エンドユーザー視点での妥当性確認を重視しているためです。しかし、ECUやソフトウェア単体も、システム全体の一部として運用条件下での技術的な妥当性確認が必要です。例えば、温度範囲や電力供給の変動に対して適切に動作するかどうかの評価は、技術的な観点での妥当性確認に該当します。エンドユーザーとの直接の関わりはなくとも、システム全体の妥当性確認には重要な要素です。 技術の進化に伴い、自動車システムが複雑化し、ユーザーの期待が高まる中で、VAL.1プロセスの役割は今後さらに重要になっていくでしょう。 さいごに 今回のコラムはいかがでしたでしょうか?今後も数回にわたってAutomotive SPICE 4.0に関するコラムをお届けいたしますので、ご期待ください。(安部宏典)

コラム

作業成果物と情報項目 Automotive SPICE 4.0のアセスメント指標の変化

Automotive SPICE V4.0に更新され、アセスメント指標が変更されたことをご存知ですか?今回のAutomotive SPICEV4.0に関するコラムは、アセスメント指標についてお届けします。  アセスメント指標とはプロセスアセスメントの関する国際規格の1つである、ISO/IEC 33004では、プロセスアセスメントモデルは、能力レベルを評価するために、アセッサの判断の拠り所として「アセスメント指標」を定義することを要求しています。プロセス成果やプロセス属性達成成果の有無を判断するために、対象プロジェクトの作業成果物や管理者・開発者の証言を、この「アセスメント指標」にマッピングすることで、達成度合いを評価します。Automotive SPICEにおいてもアセスメント指標を定義していますが、V4.0への更新に伴い内容が更新されましたので、ご紹介します。  Automotive SPICE V4.0におけるアセスメント指標V4.0では、プロセス実施指標とプロセス能力指標の定義がなくなり、単に2つの指標として、プラクティスと情報項目を定義しています。 プラクティス:活動重視の指標 情報項目:結果重視の指標プラクティスは、V3.1と同様に、基本プラクティスと共通プラクティスの2種類となっています。 基本プラクティス(BP):能力レベル1に適用。プロセス成果の達成程度を示し、プロセス固有のものである。 共通プラクティス(GP):能力レベル2~5に適用。プロセス属性の達成成果の程度を示し、全プロセス共通のものである。情報項目(II)は、プロセス成果およびプロセス属性の達成成果の達成を構成するものとしており、情報項目特性(IIC)含まれます。V4.0では、アセスメント指標がシンプルになり、理解しやすい構造になっていますね。  作業成果物と情報項目の違いプラクティスに変更はありませんが、V3.1で定義されていた作業成果物や共通リソースが、情報項目に変更されました。それでは、作業成果物と情報項目にはどのような違いがあるのでしょうか?V4.0では、以下のように定義しています。 情報項目:アセッサーがプロセス属性の達成成果を判断するために使用される関連情報の一部分を定義している。 作業成果物:プロセスを実施、管理、確立、分析、および革新する際に、アセスメント対象組織によって生成されるものである。情報項目(II)は、アセッサーがアセスメントにおいて、作業成果物を調査する際に、「何を見るべきか」のガイダンスとして提供されているものであり、作業成果物そのものではありません。また、情報項目に含まれる情報項目特性は、情報項目の潜在的な特性の例を示しており、作業成果物のチェックリストとして使用されることを意図していません。言い換えると、作業成果物はプロジェクトが生成した(生成すべき)ものであり、情報項目はアセッサーが調査の拠り所をするものなので、両者を同一と理解してはいけないことになります。作業成果物と情報項目(情報項目特性)の関係は以下のように整理されています。 作業成果物は、複数の情報項目特性から構成される場合がある。 複数の作業成果物が同一の情報項目特性を有する場合もある。 作業成果物は、情報項目とは別の名称で呼んでもよい(名称は重要ではない)。 構造や帳票が異なる作業成果物が存在しても良い。(例:課題をエクセルとチケットシステムで管理)例えば、V3.1の作業成果物「ソフトウェア要件仕様書」は、V4.0では、「要求」と「要求の属性」に変更されています。これは「ソフトウェア要件仕様書という文書が存在しないといけない」ということではなく、基本プラクティスを満たした結果として、情報項目や情報項目特性が含まれているのであれば、「ソフトウェア要求仕様書」や「ソフトウェア仕様書」でも良く、複数の「ソフトウェア仕様書」に分冊されていても良いことを示しています。  さいごにいかがでしょうか?システム開発やソフトウェア開発に携わっている方にとって、V3.1で求められていた作業成果物を生成することを意識するのではなく、皆さんの組織や開発している製品の特長に合わせて、V4.0で求めれている情報項目や情報項目特性を満たした作業成果物の構成や形を検討してみることが大切なことだと思います。内山哲三 

コラム

ソフトウェアエレメント、ソフトウェアコンポーネント、ソフトウエアユニットの関係について

Automotive SPICE v4.0ではソフトウェアに関して以下の3つの用語を用いていますが、それらの関係について、ソフトウェア設計工程(SWE.2、SWE.3)での取り扱いについて解説します。 ソフトウェアエレメントソフトウェアコンポーネント及びソフトウェアユニットを総称して、ソフトウェアエレメントと定義します。 ソフトウェアコンポーネントソフトウェアアーキテクチャで記述するソフトウェアエレメントをソフトウェアコンポーネントと定義します。ソフトウェアエレメントは、ソフトウェアユニットの上位に位置し、ソフトウェアアーキテクチャ設計(SWE.2)では、最下位のソフトウェアコンポーネントになるまで、ソフトウェアを適切な階層レベルで分割します。 ソフトウエアユニットソフトウェアコンポーネントの一部であり、これ以上細分化されないことが決定された、コンセプトモデルにおける最下位レベルのソフトウェアエレメントを表現したものと定義します。ソフトウェア、ソフトウェアコンポーネント、ソフトウェアユニットの関係を解り易く図で示します。 ソフトウェアコンポーネントとソフトウエアユニットの扱いに関しては、Automotive SPICE v3.1 では直感的/十分に記載されていませんでしたが、Automotive SPICE v4.0 では、 SWE.2 (ソフトウェアアーキテクチャ設計)ではソフトウェアコンポーネントの振舞いを定義する SWE.3 (ソフトウェア 詳細設計およびユニット構築)ではソフトウェアユニットの振舞いを定義すると明記されました。 SWE.2 で定義した各々のソフトウェアコンポーネントは、SWE.3 で複数のソフトウエアユニットによって構成されます。Automotive SPICE VDA ガイドライン第2版を参照し、SWE.2プロセス、SWE.3プロセスを通してソフトウェアコンポーネント、ソフトウェアユニットの関係を整理しました。  <SWE.2プロセスでの作業概要> ソフトウェアアーキテクチャ設計を実施する際、ソフトウェアの静的側面として、ソフトウェアを個々の機能に着目してソフトウェアコンポーネントに分割し、ソフトウェアコンポーネント毎の機能を(ブラックボックスとして)定義します(ソフトウェアコンポーネント設計)。 大規模なソフトウェアコンポーネントでは、そのコンポーネントを複数のコンポーネントに分割するケースもあります(コンポーネントの多重構造) ソフトウェアコンポーネント内部が、これ以上分割できないソフトウェアユニットに分割されるまで、ソフトウェアコンポーネントのブレークダウンを繰り返します。 ソフトウェアの動的側面として、個々のソフトウェアコンポーネントの動作概要、及びソフトウェアコンポーネント間インタフェースを定義します。 <SWE.3 プロセスでの作業概要> SWE.2で作成したソフトウェアアーキテクチャ設計に基づいて、ソフトウェアコンポーネントを詳細にブレークダウン設計します。 ソフトウェアユニット毎の機能を(ブラックボックスとして)定義します。 ソフトウェアの動的側面として、個々のソフトウェアユニットの詳細な動作、及びソフトウェアユニット間インタフェースを定義します。 最後に、ソフトウェア詳細設計に基づいて、ソフトウェアユニットのソースコードを作成します。実際の開発現場ではソフトウエアを様々な用語(例:ファンクションブロック、モジュール、セクション、ユニット、関数etc.)を用いて管理されていると思いますが、Automotive SPICE v4.0 で使用する3つの用語(エレメント、コンポーネント。ユニット)との対応を明確にすることで、Automotive SPICE への対応が効率的に実施できます。 ご不明な点等あれば、弊社までお問合せください。海農公宏

コラム

「テスト」から「検証」へ - Automotive SPICE 4.0の「検証」プロセス -

Automotive SPICE 4.0 に関するコラム、今回は「検証」プロセスについてお届けいたします。 はじめに これまでのAutomotive SPICE v3.1にあった「テスト」と名の付くプロセスは、v4.0では以下の様に「テスト」の代わりに「検証」という用語に変わりました。SWE.5:ソフトウェア統合および統合テスト→ソフトウェアコンポーネント検証および統合検証SWE.6:ソフトウェア適格性確認テスト→ソフトウェア検証SYS.4:システム統合および統合テスト→システム統合および統合検証SYS.5:システム適格性確認テスト→システム検証 なぜ「テスト」から「検証」に変わったか Automotive SPICE v4.0のガイドラインでは、「特に、システム及びハードウェアのレベルでは、テストだけが唯一の検証アプローチではなく、測定、計算または物理的なサンプルを使用するシュミレーションなどは他の検証方法である」とあります。より包括的な「検証」という用語を用いることにより、テストに限定しないで最も適した検証手段を選んで下さいというメッセージになりました。もともとv3.1でも、SWE.4「ソフトウェアユニット検証」プロセスだけは、ユニット検証手法としてテストだけでなく静的解析やコードレビューもあることから、「ソフトウェアユニットテスト」ではなく「ソフトウェアユニット検証」というプロセス名になっていました。V4.0ではこの考え方が全テストプロセスに広がったことになります。 これまでのテストプロセスとの違い 用語の変更に伴い検証プロセスのBP(基本プラクティス)の内容も変わりました。v3.1 SWE.6:ソフトウェア適格性確認テストとv4.0 SWE.6:ソフトウェア検証を比較すると以下となります。 Ver3.1のSWE.6.BP1「回帰テスト戦略を含むソフトウェア適格性確認テスト戦略の策定」はV4.0では「戦略」がBPから無くなるために削除となり、「テスト仕様の作成(BP2)」は「検証手段の仕様化」、「テストケースの選択(BP3)」は「検証手段の選定」に、「ソフトウェアのテスト(BP4)」は「ソフトウェアの検証」と、その表現を変えています。これまでは「テスト仕様の作成」というBP名称だったため、とにかく「テストしなければならない」という思いが強かったのではないかと思います。そのため本来机上検証の方が効果的かつ効率的な項目においても、無理してテストを行うような場面があったのではないでしょうか。でもVer4.0では「この項目はテストで検証」「この項目は机上で計算」と戦略的に検証手段を選択することを求めていますので、テストに拘らずより検証目的に適った検証手段を選択することとなり、結果的に検証品質が向上し、製品の品質向上に繋がると考えます。(安部宏典)

コラム

Automotive SPICE 4.0 SWE.5 ソフトウェア統合テストの考え方

Automotive SPICE 4.0では、各プロセスの目的は変わっていないとしならがら、細かい点で修正が盛り込まれています。Automotive SPICEのアセスメントを予定している方には、目的は変わらないと言われても、不安に思われている方も多いと思われます。今回は、SWE.5 ソフトウェア統合テストに関する変更点についてお伝えします。 ソフトウェア統合および統合テストについては、インタビューの場面でもアセッサと論点がかみ合わず、対応に苦慮された経験をお持ちの方も多いのではないでしょうか?よくあるケースとして:  いわゆるビックバン:全てのソフトウェアをビルドして統合するので段階的な統合やテストは実施していない(する必要性を感じていない) 統合テストとは、ビルドしたソフトウェアを使って、機能を確認するテストである という説明になり、質疑に時間がかかってしまうケースが多いように見受けられます。勿論、製品開発の形態(新規、派生など)や、プロジェクトの状況などにより、統合やテストの方法は変わってきます。しかしながら、Automotive SPICEにおける考え方を理解しておくことで、状況に応じた説明をすることが重要だと思います。そこで、VDAガイドライン第2版をみながら統合テストのありかたを整理してみました。 ソフトウェア統合および統合テスト(検証)の考え方は次の通りです: ❶コンポーネント内のソフトウェアユニット相互が設計通りに振舞うことを検証する❷コンポーネントが設計通りに正しく動作することを検証する➌コンポーネント相互が設計通りに振舞うことを検証する VDAガイドラインでは、次の絵を使って解説しています。下記の4点は、Automotive SPICE v3.1では直感的/十分には記載されていなかったとして、Automotive SPICE 4.0 では各プロセスに明確に定義されました。 SWE.2 単体のソフトウェアコンポーネントの振舞いの定義(コンポーネント間の相互作用とは対照的なものとして) SWE.3 単体のソフトウェアユニットの振舞いの定義 SWE.5 ソフトウェアユニットをそれらのコンポーネントに統合および統合検証 SWE.5 単体のソフトウェアコンポーネントの検証(他のコンポーネントとの統合に先立ち)   これらを別の形で図示すると2023.10.7発行のコラム(ソフトウェアドキュメント間のトレーサビリティ)の中で「統合テスト」のアイコンで示したことと、ほぼ同じことを言っていることがわかります。 当たり前といえば、当たり前のことなのですが、アセスメントモデルのプラクティスとして記載されてしまうと、求められていることがわかりにくくなってしまうのかもしれません。このように図で表現するとわかりやすいのではないでしょうか?ご不明な点等あれば、弊社までお問合せください。日吉昭彦 

コラム

Automotive SPICE SYS(システムエンジニアリング)プロセス担当について

 製品開発体制の中でSYSプロセス担当が不在になりがち一般的な製品開発組織は下記の様な体制が多い様です。しかし、このような開発体制の場合、システムエンジニアリング(SYSプロセス)はどこが担当するのが良いのでしょう?・プロジェクト全体を纏める「製品開発取り纏め部門」は、SYSプロセスを担当できる技術的なスキルが足りない・「制御/システム開発」は名前は近いが、役割は回路設計(E/E)や制御仕様が担当で、メカやソフトウェアも含めた製品全体の責任は取れない・製品全体のシステム要件整理を纏める担当が明確ではない。しかし、各部門間でそれぞれ要件調整を実施し、その結果を各担当部分の要件としているため特に必要性を感じていない上記のような理由から、SYSプロセスを担当する部門/開発チームが不在になっていないでしょうか。  SYSプロセス担当が不在なことによる弊害・各部門間で調整した要件が、システム要件として纏まっていないため、部門間の議論で気が付かない不整合が開発後半で発生してしまう可能性がある・システム全体の把握した設計ドキュメントが作られず、新規機能を検討する場合に、最適な機能分担がスムーズに行えない(行える人が不在)・システム全体目線でのシステム要件分析やシステムアーキテクチャ検討結果が作成されない。そのため、システム全体検証の項目に抜け漏れが発生して、機能不良や不具合が流出してしまう可能性がある 仮想的なシステムチームSYSプロセスは製品品質を向上させるために重要な役割を持っています。組織体制上、どこかの部門・チームがシステム全体を見るSYSプロセス担当となるのは難しいかも知れません。その場合は、例えばこの図の様に、各部門からリソースを出し合い仮想的なシステムチームを構成し、役割と責任を与えて、システム全体を明確にするためのSYSプロセスを適用できるような体制と責任分担が重要となります。 さいごに今回のコラムはいかがでしたでしょうか?思い当たることがありませんでしたか?製品開発体制の中に、システム担当部署がいない場合の解決案をご説明しました。仮想的なチーム運営は難しいかもしれませんが、参考にしていただけると幸いです。 鈴木功

コラム

Automotive SPICE 4.0にMLE(機械学習)が追加

Automotive SPICE 4.0に関するコラム、今回はMLE(機械学習)についてお届けいたします。 はじめに機械学習という言葉を耳にした方は多いのではないでしょうか。今回Automotive SPICE 4.0で機械学習が追加されたことで、各社独自に実施していた機械学習プロジェクトのプロセスが明確化されました。機械学習とは、特定のトレーニングデータから傾向(パターン)やルールを見つけ出し、その知識を他の同様のタスクに適用するソフトウエアの機能を指します。この機会学習の発達により、特定の分野では、人を上回る能力を発揮するようになっています。象徴的な事例がAlphaGo(コンピュータ囲碁プログラム)で、人間同士では何百年もかかるような膨大な数の対局経験をバーチャルにこなし、囲碁の世界チャンピオンを破るにまでに至っています。 機械学習プロセスの流れ以下がAutomotive SPICEで定義されている機械学習プロセスになります。これを見てわかる通り、通常のシステム開発プロセスと大きな違いはありません。MLE.1:機械学習要件分析・対象となるシステムや問題領域を理解し、機械学習システムが適用される領域やデータの特性を理解した上で、要件の洗い出しを行う。MLE2:機械学習アーキテクチャ・機械学習システムの全体的な構造やコンポーネントの設計を行います。モデルの選択やデータのフロー、各機能モジュールの役割と相互関係を明確化します。MLE3:機械学習トレーニング・モデルの学習を行います。トレーニングデータを使用してモデルのパラメータを調整し、データのパターンや関係性を学習させますMLE4:機械学習テスト・トレーニング済みモデルの性能や予測の精度を評価するために、テストデータを使用してモデルを評価する。さらに性能改善やバグ修正のための実験や検証も行いますSUP.11:機械学習データ管理・適切なデータの収集、前処理、変換、正規化、データセットの管理など、データに関する一連の作業を実施する。これにはデータの品質管理やセキュリティの確保も含まれています 機械学習の事例各社、機械学習を取り入れ医療や科学、無人配達などへの適用が進められています。今回は車載の自動運転に機械学習を適用している具体例をご説明いたします。■画像解析におけるAI・自動運転車の制御は「認知・判断・制御」に大別されます。・AI(人口知能)は主に「認知」の部分で使用されています。・車両に搭載されたカメラやLiDAR、ミリ波レーダーなどのセンサーが映し出すデータを分析し、物体を認識できるようにAIをトレーニングしています。■学習データの収集・AIのトレーニングには、車両に搭載されたカメラで撮影した画像とその画像にタグ付け(例:人間、犬、猫、信号等)するための情報を含むデータが使用されます。 自動運転では車載カメラやセンサーを使用し物体を認識したうえで、走行、停止、回避(判断)し必要に応じて制御します。 機械学習を導入することによるメリットやデメリット最後に機械学習を採用することによるメリットやデメリットについてコメントしたいと思います。・自動化によるコスト削減・高精度の識別、予測による効率化機械学習を取り入れる最大のメリットは上記に集約されるでしょう。一方で以下のようなデメリットもあります。・自動化、効率化の効果を予測しづらいこれは、「うまくいく」と想定されるテーマにおいても、実際にデータを集めて学習を行ってみるまで、本当に精度の高いモデルが作られるかどうか分からない。仮に「精度の高いモデルが作れたとしても、永続的に使い続けられるわけではない」という点が挙げられます。 今後、注目を浴びることになると思われる機械学習についてコメントいたしました。もし、もっと機械学習について知りたい、などご要望ございましたらコメントお願いいたします。