ディープラーニングには品質保証が必要、どうやって実現するか:ソフトウェア開発の一般的な品質保証プロセスとは大幅に異なる
開発者向けQ&Aサイト「Stack Overflow」は、ディープラーニングの品質保証プロセスをどうやって構築するかを解説した。ディープラーニングでは、一般的なテスト手法の多くは適用できない。だが適切な手法でテストを行えば、ディープラーニングでより良い結果を出せるようになる。
ソフトウェアエンジニアのトビアス・クペック氏は2021年11月15日(米国時間)、開発者向けQ&Aサイト「Stack Overflow」のブログに記事を寄稿し、ディープラーニングパイプラインのQA(品質保証)プロセス構築について解説した。
ディープラーニングモデルには、一般的なテスト手法の多くは適用できないが、適切な手法でテストを行うことで、ディープラーニングパイプラインが良い結果を出せるようになるとしている。
ディープラーニングではなぜ品質保証が異なるのか
通常のソフトウェア開発では、クラッシュしたときに障害を発見できる。最初の障害点はほとんどの場合、明確だ。
だが、ディープラーニングモデルでは、障害点の候補がたくさんあり、特定が難しいこともある。このため、開発者が慣れ親しんだステップバイステップのデバッグ手法を使って障害点から徐々にバグを追い詰めることは困難だ。
ディープラーニングモデルは複雑であり、依存関係を理解できないことがその背景にある。だが、アルゴリズムが複雑になり、デプロイされたソフトウェアの影響が大きくなればなるほど、より多くの品質チェックが必要にある。そのため、ディープラーニングプロジェクトを長期的に成功させるには、信頼性の高い品質保証プロセスが不可欠になる。
データがアルゴリズムの一部になっている
ディープラーニングではトレーニングデータの役割が古典的なアルゴリズムにおけるデータ(データベース内の顧客データのような)の役割とは大きく異なる。トレーニングデータはアルゴリズムによって受動的に処理されるだけでなく、モデルのトレーニングに影響を与えることで、ソリューションを能動的に形成する。ディープラーニングパイプラインから良い出力を得ようとすれば、適切なデータが必要だ。
トレーニングデータの品質保証プロセスの難しさは、扱わなければならないサンプルの量にある。そこでまず、サンプルデータセットを絞り込むため、サンプルの最低品質、異なるカテゴリーのバランス要件、サンプルの類似性スコアといった重要指標を定義する。データセットがどのようなものか、どのような問題が発生するのかを知るために、データの小さなサブセットを手動でスポットチェックすることから始めることが有効だ。
関連記事
- いまさら聞けない「CI/CD」の意義――GitHubとGitHub ActionsでCI/CDを試してみよう
GMOペパボにおけるCI/CD活用事例を紹介する本連載。第1回は組織でCI/CDを導入する目的と意義を整理し、GitHub/GitHub Actionsを利用してCI/CDを実践する方法を紹介します。 - Microsoft、オープンソースのAIデバッグ/可視化ツール「TensorWatch」を発表
Microsoft Researchは、データサイエンスやディープラーニング、強化学習向けにオープンソースのデバッグ/可視化ツール「TensorWatch」を発表した。Jupyter NotebookをUIに利用しているため、カスタマイズが容易だという。 - 無料で読める、東大/京大の「Python教科書」電子書籍
東京大学/京都大学の授業で使われている『Pythonプログラミング入門』/『プログラミング演習 Python』教材の電子書籍が無料で読める。他のお薦め教材として『Pythonチートシート』と『初心者向けTellus学習コース』も紹介する。2023年11月の最新情報にアップデート。
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.