2018年10月24日水曜日

機械学習のハードウェアのおさらい。

今後AI(人工知能)という単語は初心者に簡単に説明する為の表現でこの機能を使った製品もしくはサービスを提供する会社はML(Machine Learning)機械学習という単語を使って行きます。最近AI=万能といったイメージが一人歩きしている為です。
今までのコンピューティングと同じで結果を出す為の過程は今まで以上に複雑で時間も手間の掛かる作業です。

まずはテレビで紹介されたメーカーとハードウェア(AI,GPU,自動運転等)を分かりやすく説明しています。
https://youtu.be/ofjy7R_urs0
AIとしては医療用にFUJIFILMが自動運転用としてはトヨタ(一般車)、ISUZU(商用車)、ヤマハ(農業用ドローン等)で開発に使っています。
移動用でなければサーバーベースのGPUを使って移動を伴う場合はエッジとしてXavierをつかっています。
Copyright © 2018 NVIDIA Corporation
Copyright © 2018 NVIDIA Corporation
流石にゲームの開発で創業した会社なので実車でテストする前のシュミレータも開発してこれを元に機械学習をして実車テストするので安全性はかなり向上しています。その為のリソースも潤沢なので各社共同開発するのだと思います。Intelも開発を追っかけていますが石だけでは資本力が同じでもこの違いは大きいです。
Copyright © 2018 NVIDIA Corporation

中身はこれらです。
左がJetson TX2(去年モデル)右がJetson Xavier(最新モデル)
TX2はバッテリー駆動する様に改造してます。
TX2のオリジナルはI/Oベーズボード大きすぎて使い難いので…

ハードのスペックの違いは今までが工場の倉庫の自動搬送用の組み込みから本格的な自動車の自動運転を目的としたものに変わったので価格とスペックは大きく発展しました。今までのTX2は少し非力な部分があり2台使っているところもありました。
Copyright © 2018 NVIDIA Corporation


あと参考にロボットの分野も同じハードウェアが使われています。
この分野も日本は遅来ています。ロボット用のOS(ROS)がありこれらはオープンソーであまり表には出て来ていませんが建設現場の物資の輸送にテストしているようです。
BostonDynamics社がどうやら日本のゼネコンと共同で実験している動画を見つけました。この会社が有名なのは米軍が戦場での物資の輸送にこのシステムを実戦配備しているので知られています。悲しい現実ですが、シリコンバレーも元は軍需産業です。
動画に出てくる看板からして日本国内のビル建設でテストしているのでもうすぐニュースになるのでしょうか?
https://youtu.be/wND9goxDVrY
運動性能の良さを表した動画も貼っておきます。
https://youtu.be/kHBcVlqpvZ8

2018年10月23日火曜日

機械学習フレームワークとAIに必要な統計的・確率的な基礎知識

10月23日

今回のコンペで使うフレームワークはYOLO(You Only Look Once)you only live once(人生一度限り)をもじったネーミングのを選定しました。
比較的新しいもので比較的に使いやすく認識精度もスピードもそこそこ。一緒に取り組んでいる人がフレームワークを色々経験のある人が今一番取り組んで応用しているのも理由です。
好きこそ物の上手なれなので今回も誰かの心を動かす様なものにしたいと考えます。

今回はCNN=Convolutional Neural Network(畳み込みニューラルネットワーク)を覚えて置いて下さい。
画像処理の手法で特徴を数値化します。




パターンの認識と機械学習=『Pattern Recognition and Machine Learning』ですので、
頭文字を取って、よくPRMLとも呼ばれています。
最初にイメージをつかむには最適だと思いますが、
実際にPRMLなどで使用される確率・統計的な手法は網羅していないため、
橋渡しのために、他の書籍で離散値の確率密度関数や、期待値、統計的検定、ベイズ定理の
応用学習する必要があります。
漫画で概念を説明する本があるので統計学の回帰分析編、因子分析編を含めて目を通して
見ます。
それ以外の本も1/5は読みました…

能書きはここまでで作業は何時もの様に躓いています。


また微熱が有ります。

2018年10月20日土曜日

IoTの母艦(ホスト)とエッジ(端末)

インターネットがサーバーとクライアントの様にIoTには母艦(ホスト)とエッジがあります。
負荷の大きい処理は母艦(ホスト)側で処理をしてその計算結果(機械学習のモデル等)をエッジ(端末)に移してそれぞれの環境で実行させます。
機械学習の学習は2000年頃のスーパーコンピューター並の処理をする為、エッジでは何十倍の時間が掛かるので、役割分担をしています。
今回のAI(機械学習)も母艦( Linuxのホストマシン)で学習させて機械学習用のnvidiaのエッジであるJetson TX2やJetson Exavierを使います。
今回のエッジであるJetson TX2は安いパソコン並の能力はある為、Linuxの勉強はJetson TX2でポータブルに行います。携帯するには無骨ですが、ドローン用のバッテリーを簡易ACアダプタとHDMIの中華モニターを一つの電源で動く様に改造しました。
昨日AWS大阪支店で母艦(Linuxホストマシン)で処理するデータをクラウドで可能な事がわかりました。母艦を設定やメンテナンスを考慮するとクラウドの方がコストパフォーマンスは高いこのブログの初めの様にインストールしてその状態を最新に状態を保つのもハードは古く更新が必要になる事を考えると他に選択肢は無し。

日本語入力の設定が上手く行かずに嵌ってますが。。。

2018年10月18日木曜日

非線形二乗法と行列演算


10月18日
機械学習において論文やいろいろな関数が出てきます。理解するしないに関わらずこれらの関数がないとなにも進みません。理解するのは無理だと思いますが理解しようと努力する事は無駄ではないと信じたいです。

非線形二乗法はプロットされたデータから傾向をつかむ方法で推論には欠かせないものです。

また行列演算はデータを解析する手法で機械学習で行われています。

式としては
やら

これらの関数は一部ですがそれぞれをプログラムに落とし込んで学習して推論を導き出します。かなり説明を端折っています。

いろんな資料を読んで理解しようとして知恵熱が出ています。冗談抜きで…

やってることは画像を認識してその画像から推論しそれをトリガーにして何かを動かす事です。結果は簡単に見えます。その精度を上げて行くには内部でどのように処理しているか理解することが不可欠です。

今後説明するなかでこんなキーワードがあったなーと言う程度の記憶で良いです。


2018年10月13日土曜日

2018/10/13 Pythonユーザの為のJupyter実践入門。。。まだまだインストールは続く?

色々出て来ますが本読んで進めるだけです。一読して覚えて理解出来ると思いませんが。
AWSの次回のSageMakerのhands-onでもJupyter notebook必須です。macは自分で使い慣れているので、windowsは持っていないのとUNIX系では無いので。最近Windowsの方が少数派です。makefileも覚えてないのに…
*Pythonの説明です。パイソンと呼び現在の主流のプログラム言語です。簡素で強力な言語ですが、Cみたいですがスクリプト言語でコンパイル不要。今回はその為のエディターの様なものをインストールしています。環境を揃えて構築して他の環境に応用する為?
今高専等で勉強して居る人は標準の環境なのでしょうね。今の開発環境についていくのが大変です。まだ34ページ/415ページだし。

なんとなく試行錯誤して少し進んだみたい。44ページまでですが。

pythonが機械学習に必須な理由は下記動画が分かりやすいです。
https://youtu.be/2-Ol7ZB0MmU

日本語では無料の説明を見つける事が出来ません。あっても適当ではないようです。

以前の動画は脳神経学的な説明が主体的ですが、今回の動画はどの様に計算してその計算方法がpython言語が適しているかの説明です。
今回も英語ですが画面を眺めてイメージを掴んで下さい。中々簡単に説明する資料が有りません。複雑な処理をしていますが全てを網羅した説明が簡単に出来ないので大きく2つに分けて説明する動画を張っています。

どこかで内容を再度整理するまでお待ち下さい。


2018年10月12日金曜日

第2回AIビジネス創出アイデアコンテスト 出展候補

メイカーズフェア2018でtinyYOLOで人の手のグーチョキパーを赤外線で認識させてスマートボールの球をグーで勝てば1個、チョキで勝てば2個、パーで勝てば3個を射出する展示をしました。
AIフレームワークであるtinyYOLOはYOLOの簡易版でiPhoneのGPUを使って無線LANでiPhone,ESPとスマートボールのソレノイドを繋いで動作させました。

子供のお遊びにしたのはMFT2018は最新の技術を子供にも理解出来る展示にする為にシステムをアレンジしましたが、iPhoneをエッジとして母艦(ホストマシン)で学習モデルを作ってそのモデルをiPhoneに移して機械学習の推論結果をトリガーにして違うエッジ(ESP8266)を操作してソレノイドを動作させてスマートボールの球を打ち出しています。
一連の処理は高度なものです。
フレームワークが簡易版で推論の確立は90%に満たないので正解率は低いものでした。
子供のお遊びで容赦して貰えた?
こんな感じです。
https://youtu.be/hxePTsmZ-8w

また600組の出展者の殆どが無線LANを会場で使っていたので13チャンネル全てで繋がらない状態。電波強度の強いルーターを使うとiPhoneのデザリングは殆ど繋がりませんでした。早朝、お昼休みと夕方に若干の改善しかない状態です。

そこで今回は主要な自動車メーカーで採用予定のJetson XavierでエッジをPi Zeroを有線LANで繋いで混線を避ける予定です。
データを取ってトリミング、調整の時間がないのでモデルは引き続きグーチョキパーですが新たに母艦(ホストマシン)で学習し直して正解率を高くしました。
またフレームワークを改良して認識スピードを倍以上に上げました。恐らくYOLOをこのスピードにしたのは世界初!
同じGPUでもフレームワーク(OpenFremeworks)をマルチスレッドにしてさらにスピードアップするソフト変更しました。YOLOのみの対応です。

スマートボールの部分をどうするかはこれから検討します。

大人向けに変更?

2018年10月11日木曜日

AIを業務とする為の体制について

前回のAWSの資料がダウンロード出来る様になったのでその説明をします。
https://pages.awscloud.com/rs/112-TZM-766/images/awssolday-osaka-2018-ml-1400-daikin.pdf?mkt_tok=eyJpIjoiT1RKa1pqTTFPRGczT0RFMSIsInQiOiJ5XC9XZWpzQmR2bFBQV0U1MWV0ajlSelwvaElmdHZMUWJZc2crU0JZR0ZEMGttaDkxXC9MODhZSEthdFZXK1c0TE9DUWdmUW9SellURmp3Y1RVSEcxckFBWFwvQThROUpKMlU4UXhRS3ZvbW1wSTZqK2VxY3h4dFFMT3VaSGNkR3Npd1B4TDV3bURsbU8xVHVlVnM4UHdTSHZBPT0ifQ%3D%3D

全文はURLをご覧下さい。
当然大手企業であれば研究所で研究員がシステム開発を独自に行って業務に反映させます。それなりの人材を数名でチームを組んで長い期間試行錯誤してシステムを実行します。

中小企業であればある程度はベンダーに投げて一定の期間でレベルに応じた開発をする事は出来ますが費用対効果の問題です。
ある程度の知識とを持っているつもりですがなにせ今は非常に情報が早く高度化しているので正直ある程度ターゲットを絞ってもキャッチアップが大変です。昨日のAWS大阪支店ではデータサイエンティストを育成しないとAIは社内で実現は非常に難しくデータサイエンティスト居る前提で1年位掛かるとの事でした。大小企業も含めて取り組みはして居るがAIをする人は圧倒的に少なくデータサイエンティストという職種もここ3年位の事です。当然本物のデータサイエンティストはごく僅かです。
データサイエンティスト=統計学の学者と思って良いと思います。
今私はハードの操作をして居るだけで内容は概略しか理解していません。

話を戻します。
ダイキンのケースで説明します。
 
 

要約すると自社でハードは管理しないハードのメンテナンスは高コスト、クラウドは従量制で結果としてコスト管理が楽で安い。SaaS(ソフトウェアasサービス)現在の世界的にクラウドに行こうする為のキーワードです。OS、アプリケーション、データベースをそれぞれ管理するのではなく全てを一括してサービスだけを使う。上げ膳据え膳って事です。

ダイキンのケーススタディの中で出てくるNoSQLは今までと反対でデータベースを関連させたものを使うのではなくCSVの様にデータは簡単に扱う事へ変わって来ています。アプリケーションが最適化されていれば、レイテンシー(遅延)が起きにくいと事で現在主流になっています。
社内で言うと見積りや総務の処理はSQLを使っていますが手を加え続けると遅延やエラーが起きやすく整合性を取る事が複雑になり何かを省かないとシステムとしての使い勝手が悪くなる。ハードを更新しても改善しません。メンテナンスやハードが悪い訳ではなくこの問題は大小全ての会社で今おきています。

今取り組んでいる方向性は間違っていませんが、一人で出来るものなのか?と思います。