#author("2021-05-14T05:00:14+00:00","default:mizutu","mizutu")
#author("2021-07-20T02:28:30+00:00","default:mizutu","mizutu")
[[AI推進準備室]] > AIrepVol1
* 「私的AI研究会」レポート VOL.1 [#s3d93c24]
#contents
RIGHT:&size(12){※ 最終更新:2021/05/14 };

** ディープラーニング概要 [#o5f80e88]
#ref(rep01.png,left,around,100%,rep01.png)
#clear
- ディープラーニングは、AI(人工知能)実現方法の一つである機械学習分類される方式である。~

- ディープラーニングは、人が一つひとつルールを実装するのではなく、生物の脳の一部機能を模擬したニューラルネットワークに基本的な学習アルゴリズムを実装し、適切なデータを与えることで、コンピュータが-データの特徴を自動で学習・見つけ出し、従来手法以上に高性能な識別や処理などができるようになるものである。~

- 学習フェーズ~
 現在、ディープラーニングを活用して、画像処理・音声処理・言語処理・予測処理などが従来手法よりも大きな成果を上げているが、現時点では学習に必要なアルゴリズムやプラットホームは発展途上にあり、用途による向き不向きや、使い勝手の良しあし、制度と処理速度などが大きく異なる。ディープラーニングで学習させるためには大きなマシンパワーが必要であり、実装は容易ではない。~
 現在、ディープラーニングを活用して、画像処理・音声処理・言語処理・予測処理などが従来手法よりも大きな成果を上げているが、現時点では学習に必要なアルゴリズムやプラットホームは発展途上にあり、用途による向き不向きや、使い勝手の良しあし、精度と処理速度などが大きく異なる。ディープラーニングで学習させるためには大きなマシンパワーが必要であり、実装は容易ではない。~

- 推論フェーズ~
 一部の学習結果について、オープンソース・モデルとして、事前学習済みモデルと呼ばれるディープラーニング学習済みの結果が公開されている。この学習済みモデルを利用すると、カメラ画像やビデオデータ、写真データなどに対して比較的容易に画像認識や音声認識などを行うことが可能になる。~

** AI エッジコンピューティング [#i0ad04e0]
 エッジコンピューティングとは、いろいろなデータの処理をデータが得られた場所(エッジ)で迅速に処理することを意味している。この分野を対象に今後の展開を考える。
#ref(deep_learnning.png,left,around,100%,deep_learnning.png)

#clear
** 開発環境の選定 [#pc9b6605]
- ディープラーニングを行うフレームワークにより、画像認識の精度・速度・適応領域などが異なり、それらのフレームワークを利用して作られた学習済みモデルを実行する際の環境も異なっている。公開された学習済みモデルを利用する場合、用途に応じて学習済みモデルを選択し、それに合った実行環境が必要になる。~

- モデルが作成されたプラットホームの相違を変換・吸収できる環境として、インテルが無償提供するコンピュータ・ビジョン統合ツール「OpenVINO™」を利用する。OpenVINO™ ツールキットはディープラーニング推論を高速に行うためのソフトウェア開発環境である。~
#ref(20210418_000000_001.png,left,around,100%,20210418_000000_001.png)
#clear
- GPUなどのハードウェアライブラリ、種々のプラットフォームで作成された学習済みモデルをOpenVINOの推論エンジン用に変換するModel Optimaizerなどから構成されている。~
 マルチプラットフォームのオープンソースソフトウェアが多く使われているが、推論エンジンのコア部分はインテルのハードウェアに最適化されているのでインテルのハードウェアが推奨環境となる。~

- OpenVINO™ ツールキットは、推論ライブラリとして数値演算用のMLK-DNN、画像処理ライブラリOpenCV、GPUなどのハードウェアライブラリ、種々のプラットフォームで作成された学習済みモデルをOpenVINOの推論エンジン用に変換するModel Optimaizerなどから構成されている。~
- OpenVINO™ ツールキットは、推論ライブラリとして数値演算用のMLK-DNN(機械学習ライブラリ内で使われる基本ライブラリ)、画像処理ライブラリOpenCV、GPUなどのハードウェアライブラリ、種々のプラットフォームで作成された学習済みモデルをOpenVINOの推論エンジン用に変換するModel Optimaizerなどから構成されている。~
 マルチプラットフォームのオープンソースソフトウェアが多く使われているが、推論エンジンのコア部分はインテルのハードウェアに最適化されているのでインテルのハードウェアが推奨環境となる。~

*** 開発環境のハードウェア [#j2dd74eb]
- OpenVINO™ ではインテル提供以外の学習済みモデルはModel Optimaizerを使って、ONNXと呼ばれるフレームワーク共通のフォーマットを経由しOpenVINO™で扱うことのできるIRモデルに変換する。~
 このツールはインテルの推奨環境(第6世代から第11世代のインテル®コア™プロセッサ、インテル®Xeon®プロセッサ)を必要とする。~
 このツールはインテルの推奨環境(第6世代から第11世代のインテル®コア™プロセッサ、インテル®Xeon®(ジーオン)プロセッサ)を必要とする。~
 IRモデルに変換ができれば推論モデルの実行はインテルCPUであれば推奨環境以外でも動作する。少なくともVT-xテクノロジーに対応しているCPUであれば実行可能のようだ。~

- インテルCPUではないが、Raspberry Pi もOpenVINO™のサポート対象であるがこの場合、Neural Compute Stick2 (NCS2) と呼ばれるAIアクセラレータ(モビディウス社開発のVPU Myriad(ミリアド)X 実勢価格1万円程度)が必要である。~

- 実際に稼働させるハードウェアは実用速度が出れば問題ないと思われるが、開発過程ではできることに制限が多くかかるため、第6~11世代の推奨環境のできるだけ新しく高性能なCPU環境が望ましい。~

** 動作速度 [#ldb33f38]
 基本的に 世代の新しいCPUほど早い。~
 Xeon® > Core™ i9 > Core™ i7 >Core™ i5 >Core™ i3 > Celeron® ほか~
- 実行速度比較 → [[CPU による動作速度の違いを調べる>OMZdemo#m4848629]]~
#br

** 更新履歴 [#z8b36679]
- 2021/05/14 初版

* 参考資料 [#v59dc0fe]
-[[「OpenVINO™ ツールキット」>+https://www.intel.co.jp/content/www/jp/ja/internet-of-things/openvino-toolkit.html]]~
- [[INTEL® OpenVINO™ Toolkit 製品概要>+https://www.intel.co.jp/content/dam/www/public/ijkk/jp/ja/documents/product-briefs/vision-products-open-vino-product-brief-jp.pdf]]~
- ※資料引用 NCS2✕ラズパイ 画像データ推論システム「エレキジャックIOT」Vol2   CQ出版社

#br