開発者向けQ&Aサイト「Stack Overflow」は、ディープラーニングの品質保証プロセスをどうやって構築するかを解説した。ディープラーニングでは、一般的なテスト手法の多くは適用できない。だが適切な手法でテストを行えば、ディープラーニングでより良い結果を出せるようになる。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
ソフトウェアエンジニアのトビアス・クペック氏は2021年11月15日(米国時間)、開発者向けQ&Aサイト「Stack Overflow」のブログに記事を寄稿し、ディープラーニングパイプラインのQA(品質保証)プロセス構築について解説した。
ディープラーニングモデルには、一般的なテスト手法の多くは適用できないが、適切な手法でテストを行うことで、ディープラーニングパイプラインが良い結果を出せるようになるとしている。
通常のソフトウェア開発では、クラッシュしたときに障害を発見できる。最初の障害点はほとんどの場合、明確だ。
だが、ディープラーニングモデルでは、障害点の候補がたくさんあり、特定が難しいこともある。このため、開発者が慣れ親しんだステップバイステップのデバッグ手法を使って障害点から徐々にバグを追い詰めることは困難だ。
ディープラーニングモデルは複雑であり、依存関係を理解できないことがその背景にある。だが、アルゴリズムが複雑になり、デプロイされたソフトウェアの影響が大きくなればなるほど、より多くの品質チェックが必要にある。そのため、ディープラーニングプロジェクトを長期的に成功させるには、信頼性の高い品質保証プロセスが不可欠になる。
ディープラーニングではトレーニングデータの役割が古典的なアルゴリズムにおけるデータ(データベース内の顧客データのような)の役割とは大きく異なる。トレーニングデータはアルゴリズムによって受動的に処理されるだけでなく、モデルのトレーニングに影響を与えることで、ソリューションを能動的に形成する。ディープラーニングパイプラインから良い出力を得ようとすれば、適切なデータが必要だ。
トレーニングデータの品質保証プロセスの難しさは、扱わなければならないサンプルの量にある。そこでまず、サンプルデータセットを絞り込むため、サンプルの最低品質、異なるカテゴリーのバランス要件、サンプルの類似性スコアといった重要指標を定義する。データセットがどのようなものか、どのような問題が発生するのかを知るために、データの小さなサブセットを手動でスポットチェックすることから始めることが有効だ。
Copyright © ITmedia, Inc. All Rights Reserved.