新型コロナウイルスの影響で、自宅にいる時間が長くなった人は多いだろう。本特集では、在宅の時間を生かしてパブリッククラウドサービスを実際に使い、慣れ親しむことを提案したい。主要クラウドは新規ユーザーを取り込むために、手厚い無料試用枠を用意している。無料の範囲内でもいろいろなツールを作れる。前回に続いて、Amazon Web Services(AWS)の無料利用枠を記者が実際に試す。
ここでは、AWSが公開している「Nyantech ハンズオンシリーズ」という手順を参考にしながら、列車とバスの写真をAI(人工知能)で判別するAIをAWSの無料利用枠で開発する。前回と同様に、「Nyantech ハンズオンシリーズ」のWebページに記載されている開発手順を「Nyantech手順書」と呼ぶ。
前回はAWSの「SageMaker Ground Truth」というサービスを使って、20枚の写真画像に「train」「bus」というラベルを付けて教師データを作った。
今回はこの教師データによってAIを開発し、任意の写真を与えたら列車かバスかを自動判別する「推論用エンドポイント」を動かすところまでをやってみたい。
Rekognitionに教師データを与える
今回のAI開発には画像機械学習サービスの「Rekognition」を使う。Rekognitionは学習済みの汎用的な画像・動画認識AIを提供するが、ユーザーが追加学習させることでカスタムAIを開発することが可能だ。
まずAWSの管理コンソールにログインして、サービス一覧からRekognitionを選ぶか、サービス検索で「rek……」と入力してRekognitionのトップ画面を開く。
トップ左側のメニューから、「Custom Labels」をクリックする。ラベル付けした教師データからカスタムAIを構築する機能だ。次に「vehicle-mini-project」という名前でプロジェクトを作成する。
続いて、前回SageMaker Ground Truthで作成した「output.manifest」というテキストファイルを教師データとして指定する。この時に、画像とラベルの対応を再度確認できる。ラベルを付け直したり、画像を追加したりすることも可能だ。
そして「Train」というボタンを押すと追加学習(トレーニング)が始まる。AWSのサーバーが教師データの中身を解析して、機械学習モデルを自動作成するわけだ。この追加学習には少々時間がかかる。完了すると「TRAINING_COMPLETED」という表示が出る。
詳細を確認すると、所要時間は0.760時間(約45分)だった。
実際にはトラブルに見舞われてすんなりいかなかったのだが、その経緯は後述する。