製品紹介
OUR PRODUCTS
製品紹介
製品紹介トップ
新製品一覧
カテゴリー別検索
タグ別検索
五十音別検索
キーワード・型番検索
生産終了製品リスト
熱っぷる
ダウンロード
DOWNLOAD
ダウンロード
ダウンロードトップ
製品カタログ
CAD図面データ
取扱説明書
注意説明書
熱風発生機HAP用ソフト
技術情報・Q&A
TECHNICAL INFORMATION
技術情報・よくあるご質問
よくあるご質問
お役立ち情報
Q&Aキット
How to Use
熱の実験室
熱の実験コンテスト
技術情報
企業情報・採用情報
ABOUT US
企業情報
会社概要
販売拠点
環境への取り組み
イベント情報
採用情報
お知らせ
お問い合わせ・製品サポート
CONTACT US
お問い合わせ・製品サポート
製品サポートトップ
お問い合わせ
デモ機貸出し受付
メンテナンスサービス
相談窓口
RoHS指令対応情報
おすすめコンテンツ
Q&Aキット
電話相談窓口はこちら
MENU
LABORATORY
熱の実験室
ホーム
熱の実験室
熱の実験室-新館
第52回 お菓子の焼き加減を「AI」が見極める!? -噂の“角ハイ”も使ってみた-
熱の実験室
熱の実験室-新館
■ 機械学習
下記のツールで、データ準備と機械学習のモデルを作成しました。
プログラミング言語: Python
機械学習ソフトウェアライブラリ: TensorFlow・Keras
プログラミング環境: Jupyter Notebook または Colab
データの準備
「教師あり学習」の手法で機械学習を行うため、写真とラベルデータを用意しました。まずワークをコンベアに乗せ、ラズベリーパイで「焼成前」・「焼成中」・「焼成後」の写真を撮りました。その後、焼けている写真には「1」、焼けていない写真には「0」のラベルを付けました。
図6:写真データとラベル
集めたデータを、(a)トレーニング用、(b)検証用、(c)テスト用に、それぞれ 75%、15%、10% の比率で、ランダムにフォルダへ分けました。機械学習は、通常膨大なデータの用意が必要です。しかし今回は、「焼けている」か「焼けていないか」の2種類のみの簡単な判別であるため、少量のデータで学習を行いました。データが足りず、学習が失敗した時は、写真データ数をプログラムで増やして補いました。また、データの軽微な編集、改造(Data Augmentation)、複製作業も行いました
機械学習のモデル
今回は、簡易的な深層ニューラルネットワークでモデルを作成しました(図7)。第一層(flatten)は、2次元画像を一次元に変換する層。第二層のニューロンネットワーク(dense)は、活性化関数「ReLU」を用いた、512個の演算ユニットで作成しました。第三層(dense_1)は基本的には第二層と同じですが、演算ユニットは256個に設定しました。この演算ユニットの数と活性化関数の種類は、次の「3.モデルの学習」の結果を確認しながら調整し、最も良い結果になったものを選択しました。また、最後のレイヤー(dense_2)は「焼けている」か「焼けていない」かの予測の確率を出力するために、演算ユニットは2個で、活性化関数は「softmax」を用いて作成しました。
図7:モデルのサマリー
図8:モデルのイメージ
モデルの学習
トレーニングと検証用のデータで、50サイクル(Epoch)の学習を行いました。モデルの学習は、「Sparse Categorical CrossEntropy」のロス(予測と正解の差を表すパラメーター)と「Nadam」の最適化手法で行いました。トレーニングと検証、それぞれのデータセットにあるロスと正解率を出しました(図9)。ロスと正解率からモデルを評価し、レイヤーまたは演算ユニットの数を調整しました。
図9:ロスと正解率(青:トレーディングロス、橙:正解率、緑:検証ロス、赤、正解率
試したことのないテストデータを用いて、学習したモデルを評価した結果、ロスは0.4016、正解率は96%でした。
モデルの軽量化とラズベリーパイへの展開
TensorFlowのモデルを軽量化するため、TensorFlow Liteを用いました。学習したモデル(.pb形式)をTensorFlow Liteの形式(.tflite)に変換し、ラズベリーパイに展開しました。コンベアに流して焼いたワークを撮影した写真から焼き加減を判定し、自動的にテスト炉のコンベアを動かすプログラムを作成しました。
1
2
3