v2.2.0の変更点
モデルの評価指標にマシューズ相関係数を追加
AIモデルの評価をする際、学習に用いたデータ量のバラつきなどにも気を配りながら複数の指標を同時に評価するのは、AI初心者には容易ではありません。正解率とF値(適合率/再現率)の組み合わせでは、場合によって使い物にならないネットワークであっても良い数値になるケースもあります。
本バージョンで新しく実装されたマシューズ相関係数(Matthews Correlation Coefficient = MCC)は、2値分類(異常検知)では-1.0から1.0までの値を採り、1.0の場合は正解ラベルと予測が完全に一致、-1.0の場合にはAIの予想が全くの逆、0.0の場合はランダムで予想をするのと同じ、というものです。2クラス以上の多クラス分類では、最小値はクラスの数に応じて -1.0から0.0までの値を採りますが、最大値は理想のネットワークの場合には2値分類同様、1.0を採ります。
モデル詳細画面の混同行列右に表示されていた評価指標についても再評価し、正解数、異常判定率を表示リストから削除しました。各評価指標についての詳細は、ユーザーズマニュアル -> ネットワークの各評価指標を参照してください。
混同行列
混同行列の表示を改善し、特に多クラス分類では大きさを自動で調整して見やすくなりました。これまで、正解ラベルと予測ラベルのタイトル表示色が暗く、どちらの行列要素が擬陽性か偽陰性か分かりずらいままでしたが、v2.2ではこの表示色を明るく見やすいものに変えるとともに、ユーザーマニュアルの記述を訂正しました。
ユーザーズマニュアル -> 混同行列も参照ください。
学習誤差曲線、ROC曲線とAUC
学習についてより理解がしやすくなるよう、本バージョンにて各種チャート機能が実装されました。詳細はユーザーズマニュアル -> 学習誤差曲線、 ユーザーズマニュアル -> ROC曲線とAUCを参照ください。
モデル結果のレポート機能
AIがどうやって正しく、もしくは間違えて判断したのかを見るためには、サンプル詳細を確認するのがいいのですが、AIがどう特徴を捉えているかを見るために何度もクリックしてサンプル詳細画面を開くのが手間でした。この手間を減らすために、本バージョンにてレポート機能が実装されました。
モデル一覧ページの画面下に 【選択したモデルのレポートを作成】ボタンが追加になり、その上の表内の、お気に入りフラグをマークすることでブラウザの新しいタブにレポートが作成されます。レポートには以下の内容が含まれます。
ラボ名と概要
プロジェクト名と概要
モデルID
前処理内容
モデル評価指標
混同行列
特徴可視化画像
学習誤差曲線
ROC曲線とAUC(モデル評価指標欄)
このレポートはプリンタ出力も、ブラウザからPDFフォーマットで保存することもできます。
ZIPファイルでのアセット登録
このバージョンでアセットがZIPファイルでアップロードできるようになりました。これにより、アップロード時間がおよそ20%ほど速くなります。 ZIPファイル中のディレクトリ構造は無視され、異なるディレクトリに同名のファイルを含むZIPファイルを使った場合の動作は保証できません。 タグは自動では設定されません。アセットの選択をファイルから行う場合と同様に、手動でタグを設定してください。 また、ZIPファイル中のエントリー名がUTF-8でエンコードされていないと解凍することができません。詳しくはユーザーズマニュアル -> アセットを登録するを参照してください。
2値分類でのしきい値、距離計算の改善
2値分類において、計算されたしきい値や距離の初期値が必ずしも適切ではなく、手動による修正が必要となっていました。このバージョンで実装されたROC曲線を用いて以下のようにデフォルト値を計算するようにしました。
デフォルトのしきい値と距離は、\(FPR^2 + FNR^2\) の値が最小になるROC曲線上の点として計算されます。ここで、FPRはFalse Positive Rate (誤検出率), FNRはFalse Negative Rate(未検出率)のことです。
ヒストグラム表示の改善
これまでのヒストグラムは、距離の変更による検証結果の正常異常だけを表示するものでしたが、今回の変更では同時に元のラベルの分布がどうなっているかが分かるように、より多くの情報をまとめて表示できるように改善しました。バーの表示色も混同行列の表示と同じように、予測が正解の場合は緑、不正解の場合は赤に統一しています。詳しくはユーザーズマニュアル -> ヒストグラムを参照してください。
教師あり学習でのヒストグラム表示
これまでヒストグラム表示は教師なし学習をしたモデルでしか見られませんでしが、しきい値や距離を今回実装したROC曲線で計算するようにしたことで、教師あり学習でも同じようにヒストグラムを表示をさせるようにしました。
しきい値、距離を初期設定に戻すボタンを追加
学習後のしきい値や距離はスライドバーで変更することができますが、初期設定に戻すことができるボタンを追加しました。
SmoothGrad計算の高速化
SmoothGradの計算時にGPUを使えるようにして処理を高速化しました。
推論と結果取得に限定したGreenia SDK
MANUFACIAがインストールされているサーバー上で実行させることを想定した、推論ならびに結果を取得するためのSDK(Python library)を実装しました。これはGreenia Embedded SDKとは違い、エッジデバイス上での利用は想定していません。
Nvidia-Docker2/docker-composeのバージョンアップデート
各種ドライバやツールのバージョンをアップデートしました。詳細はインストールマニュアル -> 動作推奨環境を参照してください。
「テスト」を「検証」に変更
MANUFACIA画面にて、検証データを扱うケースで「テスト」と表現されていたテキストを全て「検証」に置き換えました。例外は予約済みの「test」タグで、互換性の問題もあり未対応のままとしています。
MANUFACIA バージョン番号
MANUFACIAのバージョン番号は、ビルドIDと共に、画面左上のMANUFACIAロゴの上でポップアップウィンドウにて表示されるようになりました。
バグ修正: 振動データを使った教師なし学習でエラーが出る
教師あり学習では問題なく学習ができるデータセットを、教師なし学習に使うとエラーになるケースがありました。この問題は本バージョンにて修正されました。
バグ修正: しきい値や距離がNaNやInfとなったモデルの不適切な扱い
モデル学習時のしきい値や距離がNaN(Not a Number)やInf(無限大)であっても学習が成功したと見做され、モデル散布図やリストに表示されていました。このモデルの詳細を見ようとしても、"閾値の更新に失敗しました"と表示されていました。これらのモデルが、学習に失敗したモデルとして扱われるように修正しました。
バグ修正: サンプル詳細の表示ミス
モデル詳細画面で特定のサンプルを選択して詳細を表示する際に、選択したものとは違う結果が表示されることがありました。これは、モデル詳細画面で<>キーを使って表示するモデルを変えた場合に、現在表示中のモデル番号を保持する内部変数が正しく書き換わっておらず、サンプル詳細を呼び出す際にも正しくないモデル番号が伝わっていたためでした。この問題は本バージョンで修正されました。
バグ修正: ラベル付与画面でのデータセット割合の表示ミス
ラベルに対して複数のタグを割り当てる際に、その複数タグの条件を同時に満たすデータセットがない場合にもゼロ%以上の数字が表示されていました。この問題は本バージョンで修正されました。
バグ修正: モデルのお気に入りフラグ表示
モデルのお気に入りフラグが、<>キーを使ってモデルを切り替える際に正しく表示されなかったり、登録されなかったりする問題がありました。この問題は本バージョンにて修正されました。
バグ修正: 混同行列内でのマウス連動挙動の修正(多クラス分類)
多クラス分類でラベルが最大の20個与えられている時に、混同行列の中の、本来マウスに反応して行と列がハイライト表示される機能が、行列の右下部分に限って動作しませんでした。この問題は本バージョンにて修正されました。
バグ修正: ラベル付与画面でのアセット割合表示
ラベル付与画面では、選択したタグのアセット量に応じて、それぞれのラベルにアセット全体に対するその割合が表示されますが、一つのラベルに複数のタグを割り当てた場合で、全てのタグが重複するアセット数がゼロになる場合でも、画面にはアセットの割合としてゼロではない数字が表示され、それが学習エラーの原因になっていました。
本バージョンでは、実際に学習に使用されるアセットの全体に対する割合を表示するように修正し、ラベルに付与されたアセットがゼロでないことをUI上で確認できるようにしました。
v2.1.3の変更点
CUDA11への対応
MANUFACIA が最新のグラフィックカードが装備された PC(Nvidia RTX3000 シリーズなど)で最新の Nvidia ドライバと合わせて使えるようになりました。
v2.1.2の変更点
バグ修正: プロジェクトの学習結果表示画面がされない
学習が失敗したモデルがあった場合、学習結果の表示に失敗し、画面が真っ白になる問題がありました。この、v2.1.1にて見つかった問題はv2.1.2にて修正されました。
v2.1.1の変更点
学習速度の向上
v2.1ではネットワークサイズを最適化するために新しいネットワーク生成アルゴリズムが実装されていましたが、v2.0に比べて学習時間がかかるようになっていました。v2.1.1では、モジュール間の内部コミュニケーションを最適化することでこの問題が解決し、またこの変更によりGPUを更に効率的に使えるようになりました。
SmoothGrad表示の改善
SmoothGradの表示方法を変更することで、SmoothGradの不要なグリッドが表示されなくなりました。
アセットを指定する際の挙動改善
アセットを指定する際、一度にたくさんのファイルを選択するとブラウザーが固まったりするなども問題がおこることがありました。サムネイル画面の作成を非同期で行うようにすることでこの問題は解決されました。
モデル評価画面の軸表示初期設定の変更
モデル評価画面の軸表示初期設定を、ユーザーにとってより意味があると思われる、"ネットワークサイズ/精度"へと変更しました。
モデル評価画面のネットワークサイズの軸設定の変更
モデル評価画面のネットワークサイズを対数表示に変更し、CNNよりもサイズの大きなResNetやMobileNetと一緒に表示されてもCNNモデルのサイズのバラツキが見やすくなるようにしました。
モデル評価画面のモデル作成時間表示
モデル評価画面の表内に、モデル毎の作成時間を表示するようにしました。
振動データ前処理順序の変更
振動データの前処理で、標準化/正規化の処理をFFTの前に移動しました。
前処理デフォルト設定の変更
時系列データと振動データの前処理で、InterpolateをデフォルトでOFFになるよう変更しました。
MANUFACIAアイコン
MANUFACIAアイコンを更新しました。
バグ修正: Install-manufaciaコマンドが失敗するにも関わらず、インストールが成功したと表示される
ドッカ―が適切にインストールされていない場合でも、MANUFACIAのインストールが問題なく終了したと表示されていました。アイコンを最新のものに更新しました。V2.1.1にてこの挙動を修正しました。
バグ修正: 教師なし学習後のモデル表示画面で<>キーを使ってモデルを切り替える際に、ヒストグラムが混同行列に変わってしまう
教師なし学習後のモデル結果表示で、<>キーを使ったモデル切り替えの際に、表示されているヒストグラムが混同行列に切り替わってしまう不具合がありました。この問題はv2.1.1にて修正されました。
v2.1の変更点
2D画像認識のため、ResNet50とMobileNetV2モデルを実装
教師あり学習での画像認識の精度向上のために、事前学習済みのResNet50(50レイヤ)とMobileNetV2(53レイヤ)が追加されました。この新しいニューラルネットワークを使用してAIモデルを生成するには、画像データのサイズが224 x 224よりも大きい必要があります。また、各種処理時間のバランスを鑑み、新たに画像データのサイズの上限を512 x 512と設定しています。そして冗長な機能であるスケーリングの設定を取り除きました。
この2つのニューラルネットワークは、既存のニューラルネットワークよりも優先的に使用され、AIモデル数を2つに設定すると、ResNet50とMobileNetV2のモデルのみが作られます。この変更によりカートリッジ形式が変更され、Ver.2.1は前のバージョンとの下位互換性を持ちません。
ライセンス認証の変更
ライセンスシステムを変更し、インターネットに接続されていないサーバにMANUFACIAをインストールできるようになりました。
ネットワークサイズの低減
以前のバージョンでは、生成されたニューラルネットワークのモデルサイズが不必要に大きかったため、ネットワーク生成モジュールで時系列、振動、及びイメージデータセットすべてにおいて、適切な大きさのモデルを作成するように改善しました。
8ビット色深度画像ファイルへの対応
以前のバージョンでは、8ビット色深度の画像ファイルを扱うことができませんでしたが、Ver.2.1でこのファイルにも対応できるよう改善しました。エッジデバイス上で画像ファイルを用いて推論する場合でも問題なく動作することを確認しています。
CUDNNフラグの有効化
Caffe2でCUDNNフラグを有効化して、GPU(CUDA)を有効に使用できるようにしました。
バグ修正: 「manufacia-ctrl update」コマンドが正常に作動しない
manufacia-ctrl update
コマンドをリストから削除しました。このコマンドを実行する代わりに、インストール済みのシステムをアンインストールした後に、manufacia-ctrl start
コマンドにて新しいシステムをインストールする必要があります。Ver.2.1はカートリッジに下位互換性がないため、新たにシステムをインストールする必要があります。
バグ修正: 「manufacia-ctrl start」コマンドが実行されるたびに「1」という空のファイルを作成される
manufacia-ctrl start
コマンドがその実行の度にカレントディレクトリに "1" という空のファイルを作っていましたが、その問題は Ver.2.1で修正されました。