昨今、センサーが接続されたMCUそのものでAIを実行するニーズが増えてきました。その中で、
Tiny MLやVery Edge AIといったコンセプトが出現しています。
音声キーワードの検出や異常検知などは、AIが得意とする分野であり、かつリアルタイム性が
求められることからMCUは最適のプラットフォームだといえます。
一方で、MCUはOSを搭載することが少なく、メモリ容量や計算速度にも制限があるため、
それらを考慮してAIアルゴリズムを開発する必要があります。
データサイエンティストは大量のデータセットとAIフレームワークを駆使しAIアルゴリズムを
開発することができますが、MCUに一つのアルゴリズムとしてポーティングすることは容易ではありませんでした。
e-AI Translatorは簡単な操作で学習済みモデルを組込用コードに変換できるツールです。
今回、その概要とバージョンアップにより強力になった機能を紹介いたします。
e-AI Translator とは
オープンソースのAIフレームワークを用いて作成したAIアルゴリズムを 推論専用の、C言語 で出力するツールです。

抽出結果は、MISRA準拠のC言語で記述されたニューラルネットワークライブラリを使った推論関数としてを出力されます。
ユーザは、 推論関数 dnn_computeを呼び出すだけで、AI推論結果を得ることが出来ます。
e-AI Translator V2.0.0 リリース
e-AI Translator の最新版 V2.0.0 を 2021/3/12 にリリースしました。
My Renesas登録ユーザは、ルネサスのマイコン用であれば、無料で使用することが出来ます。

フレームワークの歴史とe-AI Translatorの対応

ディープラーニングフレームワークの歴史を振り返ってみます。
2012年ごろのCaffeの登場以来、様々なフレームワークが登場してきました。
2015年末ごろまでの中でメジャーに使用されていたのはCaffe、TensorFlowでした。このため、2017年に初版をリリースしたe-AI Translatorではこれらの2つのフレームワークに対応していました。
一方、最近では以下の2つのフレームワークの登場と進化によってフレームワークの勢力図は変わってきています。
・高いカスタマイズ性でAI研究者層に人気のPyTorch
ニューラルネットワークの記述に低レベルAPIを採用し、研究目的でのニューラルネットワークのカスタマイズ性を高めました。AI関連学会で近年、最も良く使用されているAIフレームワークがPyTorchです。
・シンプルなネットワーク記述でAI初心者層に人気のKeras
PyTorchとは逆に、ニューラルネットワークの記述に高レベルAPIを採用し、AI初心者層の人気を集めたのがKerasです。開発元がTensorFlowと同じGoogleということもあり、最近ではTensorFlowでもKeras用のAPI(tf.keras)が使用可能となっています。
以下のグラフはarXivで載せられた機械学習の論文で、各フレームワークについて述べられている割合を示したものです。2018年2月までのデータではありますが、TensorFlow、Keras、PyTorchの人気がそれぞれ高まっていることが確認できます。

引用元:https://twitter.com/karpathy/status/972295865187512320
以上のトレンドを踏まえ、e-AI Translator V2.0.0ではサポートフレームワークを刷新しました。
e-AI Translator V2.0.0 新機能(1)PyTorch対応
新規AIフレームワークとしてPyTorch V1.5に対応しました。
前述の通りAI関連学会で近年、最も良く使用されているAIフレームワークがPyTorchです。
e-AI Translator V2.0.0は、PyTorchの学習済みファイルを直接読み込んでCソースに
変換することが可能です(業界初)。
PyTorchを利用しているお客様は、容易にルネサスのMCUを使ったAI機能の動作確認が可能となります。
e-AI Translator V2.0.0 新機能(2)Tensorflow V2.1 / Keras 2.3.1対応
Tensorflowは、V1からV2にメジャーバージョンアップを行い、従来使用していたTensorflow native APIの利用を制限し、人気の高いKeras準拠の記述方法、学習方法を採用しています。
今回e-AI Translatorも、TensorFlow/Kerasの新バージョンへ対応し、Keras準拠の学習済みモデル形式であるhdf5形式を採用しました。
よりシンプルにニューラルネットワークを構築してみたいお客様にお勧めします。
e-AI Translator V1.6.0からV2.0.0のバージョンアップ作業に関して
今回、対応フレームワークの刷新を行いましたので、いくつかご使用にあたり注意点があります。
・インストールが必要なPythonのバージョンやPython Packageの内容が変わっています。詳細はe-AI Translatorのユーザーズマニュアルでご確認ください。
・e-AI Translatorの旧バージョンでサポートしていたCaffe、Tensorflow V1.x、Keras 2.2.4の学習済みファイルは、e-AI Translator V2.0.0では変換できません。
・TensorFlowに関して、サポートしているニューラルネットワーク関数と学習済みAIファイルの形式は次の通りとなります。

V2.0.0へのバージョンアップが難しいお客様はV1.6.0を引き続きご使用ください。
V1.6.0のライセンス更新はダウンロード数の推移を見ながら、一定期間継続いたします。
(掲載終了後も個別のライセンス発行は可能です。その際はご相談ください。)
ツールダウンロードリンク
アプリケーション > テクノロジー > e-AIソリューション > 開発環境 / ダウンロード
もしくは検索窓を使って、“e-AI”を検索、“開発環境 / ダウンロード”を選択してください