2019年2月21日木曜日

はやぶさ2 と ベイズ統計学

無事目的地に到着しました。素晴らしいですね。日常の生活に関係ない様に思うかも知れませんが、これがAIに続いています。
軌道計算にアポロ計画から始まったカルマンフィルターを使って軌道計算をする統計学的手法を今も使っています。直線距離で2億8000万キロ。飛行距離52億4000万キロ、平均時速約10万キロで着陸誤差は半径3m‼︎

アポロ計画の後様々な場面で応用され、GPSデータで車の位置を予測、飛行機やドローンの姿勢制御、AIに使うデータ処理につかわれ、AIスピーカーで音声で検索や家電制等々。(余談ですが、ニールアームストロング氏今年1月19日に82歳で無くなりました。)

ベイズ統計学は日本ではここ10年程で知られる様になった統計学。
カルマンフィルターは逐次ベイズフィルタの一種でベイズの理論から来ています。

日本の今までの統計学は頻度論といって得られたデータが母集団からどの程度の頻度で発生するかを客観的に妥当か判断するものが主流。
例えば政党支持率を母集団(投票権を持つ全員)からサンプルをとって支持率〇〇%
そのサンプルを出来るだけ母集団の忠実な比率にするかを客観的に検証する。

ベイズ統計はその逆であるサンプルからある政党の支持率が〇〇%だった場合の母集団はどの様なものかを推測する。その際はどうしても主観的な検知が働いてしまう。というのは有る程度結果を推定しないと確認が取れません。それがベイズ統計の始まりです。
これがなぜAIや機械学習に役立つのか?

例を変えます。気温30度の時にアイスコーヒーの注文数を予測する。がベイズ統計
ちょっと強引な感じですが、気温が高いと冷たいものが売れるんじゃないの?って主観です。客観的ではありません。
ある年8月のお店のアイスコーヒーが平均70杯/100杯だったとします。今年の8月にコーヒーを110杯売れれば77杯になる確率が〇〇%。(回帰分析)
雨の確率、駅から10分で他のお店より広いお店の売り上げ予測等。{重回帰分析目的変数が1つ(売り上げ予測)に対して説明変数(駅からの距離とお店の広さ)が2つ以上。}
現代はこれらの想定が間違っていないかを理論や数式で確認する方法がありそれが統計学(データサイエンス)になっています。

それらを行列演算、微分等の数理式を駆使して確度をあげて行きます。
通常アナログで取得した計測装置のデータは環境によってばらつきます。
例えば太陽光発電は日射量、気温、天気によってばらつきます。それらは場所や時間等の条件を限定すれば予測出来ます。ある程度のサンプルがあればそれなりの確率になります。
風の強い地域であればそのデータも必要になるかも知れません。
黄砂や近くの山焼きが影響するかも知れません。調べたデータ(定数)から母集団のパラメーター(変数)を予測するのです。追加で分かった条件を入力すれば精度が上がります。
その条件は初めは分からない事が多いです。そこで主観的に予想や想定をして条件をどんどん追加すれば精度は上がり間違っていれば精度は下がります。

車の自動運転で先の交差点に人が立っています。横断するのでしょうかそのまま立っているのでしょうか?
計測データから先を予測するのです。閾値が超えてからでは今のサービスでは遅いのです。
予測をする事が今の新しい技術です。

推論や予測する事が最先端技術のキーワードの様です。
少し先は高い確率で、それより先は低い確率でそれぞれの%をより早くより高くあげて行く為にいろいろな技術がある様です。
その中で統計学、特にベイズ理論はスタンダードになっています。

どの技術がどのニーズに役に立つのかはやってみないと分かりません。分かりだすとみんな一斉に始めます。今までの技術はある程度コピー出来ます。これからの技術は理論や数式の理解がなくては出来ない様になっています。

AIや機械学習は概略を理解するだけでも半年掛かりました。それでもよく理解できたと思います。

今月ベイズ統計を読み終えたら少しずつ実践して行こうと思います。一読しても分からない理論や数式の連続なのでゆっくり読み解くしかない、、、根気いります。

でも今の日常には何の役にも立たない… 十分吸収出来る程若くも無い…
少しは応用出来る(出来ている?)
吸収する為に残された人生の時間はそれ程無い気もする。
悩んでいるポイントでもあります。

2019年2月19日火曜日

第3回AIアイデアコンテスト

人生の中でここまで真剣に学んだ事はなかったように思います。
この半年この様に最新技術の理解の為、週の半分の時間を使わせて頂いた事に社長、末政さん、坂田さんまた同じ課の方々に少なからずご迷惑を掛けているもののご理解頂き改めて感謝の念が絶えません。

今回受賞は逃しましたが、作品自体の出来は良く仕上げています。
アイデアコンテスト自体は、そもそもきっかけにすぎずビシネスに使う事を目的としています。
3年前に宮城の小野さんのブログで赤外線+Wifi接続の試作を見た時に閃いた事が全ての始まりです。メンテナンス講習会を通じて赤外線の重要性が理解出来ていたので画期的なものとして一緒に開発し始めたのですが、電波法やソフト、ハードの問題を解決するのに1年かかりました。取り扱いが特殊でソフトとハードの知識がある程度無いと使いこなす事が難しいものになりました。
スイッチサイエンスのオンラインページで販売しています。


Appleアプリは小野さんで



載せてテストは簡単でした。

本格的にドローンを操作する段になると2.4Ghzの混線の問題で色々な種類のドローンを買って試す事を1年繰り返しました。(もう持ってても仕方ないので昨年末社内の皆さんに差し上げました。)その間ドローン自体の知識、6軸センサー(ロール、ピッチ、ヨウ)姿勢制御も調べる事になりました。
見つけたモデルがこのZerotech Dobby.
(下に3Dプリンターで作ったランディングギアにセンサー基板+バッテリ収納)

小野さんは元々機械学習を研究されていて色々なブログの記事が上場企業から検索される程の知識で国内では知る人ぞ知る人で、直ぐに赤外線を使った人体認識を作ってメーカーフェア東京にあっという間に出場出来ました。
2016年11月時点で機械学習等色々と記事にされていています。

さてドローンは事故や事件のせいで規制が厳しくなり航空法の許可が必要になりましたが、200g以下は制度上おもちゃ扱いで規制の対象外です。
そこでおもちゃのドローンをテストしましたがドローンに搭載する段になると2.4Ghzの混線の問題で色々な種類のドローンを買って試す事を1年繰り返しました。その間ドローン自体の知識、6軸センサー(ロール、ピッチ、ヨウ)姿勢制御も調べる事になりました。
とりあえず使えるモデルはありますが、画像を安定させる為にドローンに搭載されているジンバルとは別に軽量のジンバルを作る必要が出てきました。
で作りました。
これをDJI mavic airに搭載すると

油川さんが3年前に重力を利用したジンバルを作ってくれましたがこれはダメでした。

現在ドローンのモーターの磁気嵐でノイズの問題と戦っていますが、これができればこんな映像が既に撮れます。
ソフトバンクがやっている太陽光パネルの画像認識を使った不良診断をしようと思っています。
ソフトバンクは300万のドローンと専門会社のサービスなのでそれなりのコストが掛かります。
これを今回開発した赤外線画像診断にすると一般の数万円のドローンでシステム構成も数万円で可能でなおかつ、アマゾン(AWS)のサービスを使うと何万人のユーザーにサービスが提供出来ます。
200g以下のドローンを使えば産業用だけでなく家庭用太陽光のシステムの点検にも応用出来れば何十万件の規模のサービスが可能になります。

これで次回の商工会議所の要件を満たしながらビジネスに結びつける事が出来ます。

さて、今回授賞式に参加して初めてコンテストの意味が理解出来ました。
(既にマーケッティングが終わっているものも対象になるのであれば明記しないといけない様に思います。その場合の条件も曖昧で、今回の受賞者は12月には既にかなりの部分が完成されていた事になります。)
主催者の意図が途中で変わった様に思いますがそれが条件ならその条件にあわせるだけです。

そうであればこれまでの事を集大成して参加すれば良い事になります。
応募の資料も今回のプレゼンテーションを見る限り申込の内容を簡素にして見栄えのあるプレゼンテーションにする必要もあります。

今回は申込むまで3か月しかなく要件を満たす事は出来ませんでしたが、次回はファイナリストに残る方法も理解出来ました。会長賞は=ビジネスなのでそこも狙って行こうと思います。
これまでの半年で機械学習の概略は理解して実践もある程度出来ました。
ここからビジネスレベルまで持って行くのであれば更に色々な事を集中して進めないといけません。
仮に会社からの条件今よりが厳しくなっても進んでいこうと思います。

今まではAIとは便利なブラックボックスとした理解でしたが、今は内容を理解した上で素晴らしい技術だと思います。
確かに社内や一般の人には説明が難しい内容ですが、チャレンジして行こうと思います。

2019年2月15日金曜日

AIビジネス創出アイデアコンテスト結果発表

それぞれのプレゼンテーションを見ると主催者の意図が良くわかりました。
プロデュース力が物を言う結果になりました。

会長賞は立派なスタートアップでペットの健康診断をするというブジネスモデルでペットフード業界の支援もありペットのトイレをIoTとAIをつかったところもバランスがよかったと思います。

次に歯周病の画像認識をつかった診断も医療関係のビジネスとしてまとまっていました。元ソニーの画像認識の技術者が代表の会社なので技術に具体性もありよかったと思います。

病気の画像認識については日本では個人情報保護の観点でデータを集める事が難しいという問題もあり、発表者が若干AIついての認識がなかった様でこの肩だけ賞の受賞はなかったようです。

それぞれ無難なまとまりがあり今回落選した理由も理解出来ました。

会場には50人以上の参加もありプレゼンテーションを最後尾で聞いていましたが、プレゼンてションの方法も良くわかったので今回感じた内容を整理して次回も挑戦してみようと思います。

2019年2月14日木曜日

CやC++のポインタ

簡単な条件文等おプログラムの説明は読み飛ばしてポインタの部分を2冊の本で読み返しています。
簡単なプログラムの改変くらいしか出来ないですが、CやC++は避けて通れないのでせめて流れを追うくらいは出来る様になろうと思います。
アルゴリズムまで考える事は本職の方々にお任せします。

車輪の再発明と言う言葉があります。
プログラムは特に似た様な事は世界で色々な人が過去も現在も作られています。
自分で一から作るよりもよく出来た物も沢山インターネット上にあります。
それを知らずに一から作る事を車輪の再発明と言います。

*車輪の再発明(しゃりんのさいはつめい、英: reinventing the wheel)は、車輪を題材にした慣用句であり、世界中で使われている。「 広く受け入れられ確立されている技術や解決法を知らずに(または意図的に無視して)、同様のものを再び一から作ること」を意味する。
ウィキペディア引用

これからあと構造体等、今までよく理解してこなかったところを改めて読み進めました。構造体もある程度は知ってはいましたが、まだ良く理解出来ません。
また改めて例題を書き写して理解する様にします。

またそもそも関数もよく理解出来ていないと思っています。

今読み進めているのは新・明解C言語(入門編)ローベルのC++入門講座を斜め読みしています。過去に読んだ本の題名は忘れています。以前の本より記述が親切になった気がします。(ある程度予備知識があるからか?)

色々なプログラマーが色々な形でプログラムを公開しています。GitHubQiitaで気になるコードは眺めています。
それぞれの専門分野のスキルを持ったプログラムなので理解する事は難しいですが、理解しようと努力する事は時間が掛かっても無駄にならないと思っています。
ただ新しいプログラム言語も出てきているのでさらに理解するのは大変です。
読んで少し理解出来ても数日後に忘れていると言う個人的な問題も苦労するところです。

購入したソフトウェアを使いこなす事も難しい位大変な時代です。

やはり半年程の間に能力限界に近い学習と実践をしてきている為が🧠脳が疲れています。

2019年2月13日水曜日

統計学(回帰分析編)とVR(仮想現実)

著作権保護が厳しくなった法案が通る様なので資料がつけ難くなり自分で生成する事になるので工夫が必要で時間が掛かる様になります。昨年末からホームページやブログの執筆者に許可をとって一部掲載しています。スクリーンショットもダメになるそうです。

統計学の回帰分析を使って説明変数から目的変数を予測する、重回帰分析は複数の説明変数から目的変数を予測する。ロジスティック回帰分析で確率を予測する手法を読み解いています。

AIや機械学習においてデータを統計学を使って導き出している事は良く理解出来ました。
偏差平方和を求めて偏差式和、残差を求めて残差平方和をa,bで微分して0とおく。
その後回帰式を求めて予測する。
重回帰分析は編回帰係数を行列演算で処理します。
ロジスティック回帰分析のロジスティック回帰モデルはAIのシグモイド関数?
目的が一緒なのでしょう。これまで式を丸暗記していましたが、その式の根拠が少し分かった様に思います。

AIで使われている推論や予測の数式は統計学で使われているものでその式を使って数多くの演算処理をGPUで行っていますが、数多くの変数を行列演算を微分しながら答えを導き出せるのは今の最先端の技術があっての事です。もちろん以前は京などのスーパーコンピュータを使っていたのでしょうが一般にも分散処理でできる様になりました。目的の方程式(モデル)を導き出すには時間はかなり掛かりますが、そのモデルを使うと魔法の様な処理が出来るもしくは精度の高い処理が出来る様になりました。

会社のPCはせめてメモリーを倍にしてSSD(ハードディスクは今の時代には遅すぎる記憶媒体です。)に変えるかパソコンを更新する必要がある様に思います。

いま進めている開発は即何かに使える様にまで使いこなせていません。
ただ最新の技術も少し工夫すれば応用が出来実践出来るのも事実です。プログラミングのハードルはますます高くなっていますが、実践するにつけて素晴らしい技術です。

その中で社長に一度試して頂きたいもう一つの技術にVR(仮想現実)があります。
中核の技術は今回の統計学によるセンサーデータの精度向上や予測を取り入れてVRグラスの中の6軸センサーで人の視界を360度再現します。30−60FPSの画像処理をする為にGPUをフルに使う為デスクトップパソコンにVRグラスを直接繋ぎます。平面上の位置データを取得する為レーザーセンサーも使います。
トヨタや殆どに会社でシュミレーターをして使われている物を入手しました。
簡単なデモとしてグーグルアースがあります。建物や海、山を忠実に再現されています。
会社も3Dで再現されていて社長の車の駐車場にあります。
ニューヨークにもハワイにもそれぞれの自宅にも数秒でたどり着けます。どの角度でも見れるのでさながらウルトラマンになって街を眺望する様です。

時間は掛かりますが、改造のシミュレーションみたいなものが出来ればと思っています。

まずは百聞は一見に如かずです。
出来るだけ多くの人に体験してもらうと今までの価値観が変わるかもしれない程の物だと思いますが、どうでしょう?
https://youtu.be/QMpXQ_XjPWY

平面に3次元のシミュレーションはブラウザーでもある程度出来ますが、リアルタイムに画像を生成するにはGPUの力を借りないと出来ないのが現状です。システムが大掛かりになるのが現在の問題で高コストの殆どがこの為です。
http://exc3d.com/model/ferrari488/
(マウスでクリックして向きが変えれます。タブレットやスマホでは指で向きを変えれます。)
またこの様なオブジェクトを作る開発ソフト(Unity3D)もあり時間があればやってみようと思います。
簡単なCADソフトで3Dを作って3Dプリンターで出力出来ます。
Unity3Dは物理計算もするので例えばオブジェクトがある高さから落ちると重力加速度を計算して材質や質量によってはバウンド効果も出せます。


2019年2月10日日曜日

統計学(主成分分析、因子分析)

AI、機械学習(ロボティックス等他の分野でも)でデータをより良く取り扱う為に一見関係ない様な統計学のマンガを読み進めています。

統計学と言うと沢山のデータ群から数式を使って解析すると答えが導き出せると勝手に思っていましたが、そうでは無いのが主成分分析や因子分析です。
分析者が仮説を立ててデータを取得してその因果関係を計算式で求めるという今までの逆の考え方になります。

データを取り間違えると永遠に答えが出ない事になります。
(答え=データと目的に相関関係は無い)

つまりAIや機械学習に置いて良質なデータがあれば目的にあった結果が導き出せるといった事になります。
その中に良く無いデータ(目的に関係の無い)があると結果から答えが遠くなってしまいます。
良いデータから相関関係を数値化する式はあり、行列計算等である程度導き出せます。
A=Bでは無くA≒Bです。綺麗に割り切れる訳では無いので色々な手法があります。

アマゾンの講習でも最初の仮定で目的を達成する事は難しく、何度も再学習を繰り返すのはこの部分にあります。
つまりデータサイエンス≒統計学といったところでしょうか?

コンピューターがAIで人間を制覇する事は当面無さそうです。

AIは一つの学問から成り立っているのでは無く、コンピューティング、脳神経学、統計学等から成り立っているので一筋縄では行きません。もちろん統計学は重要ですが、それがすべてでも無いのも事実です。その理解無しに与えられた数式のプログラムを実行すれば答えが導き出せます。*ただし良いデータを使えばです。

厄介なのはその良いデータを見つける良い方法は無い事が今回の統計学で分かりました。
仮説を立てる分析をして導き出した変数(学習結果)に新しいデータ(未知のデータ)を代入して目的の結果になるかを検証する。間違っていれば仮説を立て直す分析する、検証するを繰り返します。

そうする事でその目的の為の魔法の変数が見つかるかも?分析者の腕次第。

現在これらの実践をしている人が勧めるこれらの本を読む意味が分かって来ました。
この後は回帰分析(最高気温からアイスティーの注文数を予測、お店の面積と最寄りの駅からの距離から新規出店の一ヶ月の売上を予測、喫煙本数と飲酒量からガンになる確率を予測)を読んで、ベイズ統計のマンガに行きます。

マンガですが、それなりの内容なのでとてもじゃないですが、統計学の本格的な本は読む気になりません。
ただデータを扱うには避けて通れない奥深い分野である事も分かりました。

最新技術はより複雑で幅広い分やに精通しないとどんどんブラックボックス化しそうです。

2019年2月6日水曜日

精密検査MRIと微分積分

今日は精密検査MRI(磁気共鳴画像(Magnetic Resonance Imaging))
で会社はお休みしました。

最新の最適化を十二分に使った測定をしているはずです。それぞれの臓器や血管等に磁気を当ててその反射からそれぞれの臓器を3次元に画像化したものなので測定の誤差等も最適化で綺麗に処理しないと細かな臓器の映像化は難しいはずです。例えば測定中(15分程度)私は息をしてそれぞれの血管は心臓の鼓動にしたがって拡張と収縮を繰り返しています。そのズレも補正しないといけません。この半年の中でその手法が少し理解出来ました。

その精度ではないと思いますが、それを技術を使ったものをやって見たいをVRを買っています。簡単なポリゴンでシミュレーションも考えています。あまり手を広げるとどっちつかずですが、調べて初めています。0からでは無く今やっている事の延長線上でもあるからです。

微分の基本を良い終わって積分の基本を一気に読みました。
今更ですが、実効値VRMS(100v)が瞬時値VM(141.1v)を積分して求める事が出来ました。
少し数式を追う事が出来て嬉しく、目から鱗でした。
文系なので今まで避けていまいたが、もう少し数式に慣れていこうと思います。

昨年オリンピックスピードスケートの選手がマホトマガンジーが言った言葉で、

Learn as if you will Live Forever,
 Live as if you will Die Tomorrow.
 (永遠に生きるかのように学べ。
  明日死ぬかのように生きろ。)

を実践していると言っていました。
私も教えを実践しようと思います。
今日の精密検査は人生いつ何があるか分からないのでそれを改めて深く考えました。
座右の銘は好きこそ物の上手なれも大事にしています。

どこまで出来るか?もっと早く初めていればと思う事もありますが、一人で全て出来ないでも、今の技術に少しでも近づけて行ければを思います。


2019年2月5日火曜日

小休憩…で赤外線のセンサーのSPI通信の中身を見る

素人エンジニアと素人プログラマで色々やっていますが、石の上にも三年です。
赤外線センサーについて色々使いこなせて来ました。
趣味で販売している基板やアプリも使った人からは良いフィードバックがあります。

ここまで結構回り道してかなり悩みながら少しずつ諦めずに進めて来れたのは偶然が重なっています。

今回ロジアナを買って悩みに悩んだセンサーとCPU間の通信を見てみました。
動きはこんな感じです。

今回のCPUはマイコンでは無くWiFi通信の為のチップ(ESP8266)でメインはWiFi通信を制御するものです。パソコン、スマホや監視カメラ等のWiFi機器とのやりとりやIDはパスワードの管理をする為のメモリ領域とそのチップを使っています。数KBに凝縮して書き込んだので軽く消費電力もかなり低いものになっています。

当初からの問題はこのセンサーのSPI通信が数十MHzと速くデータを取りこぼさない事が必要でした。それにこのESP8266は通信がメインでそのシーケンスはユーザーがコントロール出来ない様になっています。マルチタスクでその部分は私たちの制御プログラムとは別に動いていますが、当然あるタイミングで制御プログラムに割り込みが入りますがそのコントロールが通信制御を巻き込むdelayで割り込みを管理しています。プログラムのどの行にdelayを入れるかは勘と経験だけでその調整に2年掛かっています。

ある意味趣味だから出来たのかもしれません。
当初からその通信データを生で見てもどこでコントロールするかわかったかと言うと多分無理だったと思います。
この手の機器は使いこなさないといけないのでぼちぼち使って行きます。
本はどんどん増えますが読んで理解する時間と釣り合いが取れません。
どうしましょ?

虚数の計算やベクトル等の意味を実践する(ドローンの制御はベクトルの理解が不可欠)ので目的がはっきりすれば勉強はし易く目標を持つ事ができるので良い時代だと思います。今更ですが、微分も漫画で勉強しています、次は積分です。

今日は統計学の漫画を読書です。!?(・_・;?マンガ?っと言う割れるかもしれませんが、識者指定の本です。
統計学の基礎は終わって主成分分析まで読み進んでいますが、行列の計算はAIと同じ様な式が続きます。
つまり推論を導き出す数式は統計学を利用してその確率から答えを予測する事になります。統計学を突き詰めるとデータサイエンティストの様になります。
この数理式をC言語やPythonでプログラムに組み込みます。すると推論の確率が上がります。確率なので100%は実質ありません。90%−98%でほぼ正解で70%はまあまあで50%は基本間違えに近いといった感じです。

この統計学は自動運転やロボティックスでも使われており自己位置の推定や計測データの精度向上に重要な要素になっています。
例えば車の位置はGPSだけを使っていると思われがちですが、オドメータ(とリップメーター)を使ってGPSが効かないトンネルの中やGPSのデータの誤差を修正しています。
その際カルマンフィルターや統計学を使って車の位置をより精度を高く捉えています。

古典的な制御では計測の精度をあげてノイズ処理をしていましたが、現代ではそれに統計学からデータを最適化や推論を使ってそのより精度の高い機械学習や深層学習をしています。まだまだ読み進めないとまだまだわからない事だらけでC言語も何も進んでいません。