Coffee break 5 AIと数学

Coffee break 5 AIと数学

Hさんの投稿

さすがにここ最近のITは数学が必要なレベルになってきている。AI、量子コンピュータ、ブロックチェーンとどいつもこいつも、訳のわからない記号が出てくる。
DIYが好きなだけに自分で工夫して何とかやってきた。データベースの時もRDBの根幹をなす情報数学は避けて、DDL、DMLだけやればなんとかなったが、、、さすがに今は記号を解読しないことには前に進まない時代に入りつつある。
今時のITエンジニアは文系出身者も多いので、数学に四苦八苦していると言う事をよく耳にする。そこで自身のおススメのアンチョコを公開してみる。

おススメの一冊は「コンピュータの数学」!

これは、自身が一昨年に金融系AIを実装していた当時に訳の分からん記号にぶち当たって、それを読解するために買ったものである。
大学理工系教科書を作っている共立出版社が発刊しているが、内容は、この出版社にはめずらしく中学数学をきちんと理解していれば、理解できるレベルで記載されている。(他の本は全部高校数学の理解が前提)
その後も何冊か良さげな情報数学、コンピュータ数学本を買ったり試し読みしてみたが、文系が理解できる本で、これに敵う本にはまだ出合っていない。この本でほとんどは賄える。さらに深い内容の時はその時々に応じて応用本を読めば良い。文系が理解できるこの手の本で最強!
この本は400ページ弱と分厚く、全部理解しての完読はきついので訳がわからなくなったときに調べるためのアンチョコとして使っている。
買った当時、定価9500円だったが、先ほど、Amazonで見たら16,000円~20,000円弱とプレミアがついてる( ゚Д゚)おっ!おおおおお!
ちょっと、資産が増えた気分(笑
でも、売らない。というか売れない。もう絶版本のため同じ価格で手に入らないのだ。これから先、中古本の価格はどんどん上がり続ける。「Amazonでも中古のやつが3冊あるのみ。」いつかプレミア本として売れるよう大事に読むことにする(笑
この本を買いたい人はAmazonへ急げ!

著者のコメント

一見すると数学が難しそうだけど、AIの一つの式 Yt = ΣXtWt – Φ も Y = aX + b とおなじ一次式。多項式なだけですよね。しかもプログラミングでは for だけでかけてしまうという簡単なもの。

じゃあ何が難しいかというとデバッグ!実際に動かして値が合っているという検証に時間がかかります。根気作業になるので、ここで結構脱落者がいます。最後までやり通さないと中途半端に終わります。

「俺は数学がダメなんだ!」とか「プログラミングは難しい!」ではなく、最後までやるかどうかだけなんですけどね!

面倒くさいことは誰でも嫌ですけどね。ボクも本当はやりたくないのですが、その向こうにある結果が知りたくてやっています。

後もう一つ。我々が使う範囲の数学は工学で理学ではありません。既に理論は確定しているので、その通りに組めば必ず動作します。答があります。答のない理学を追求するのは大変ですが、その点はありがたいですよね!

ちなみにボクは大学も行かずにフリーターで音楽とアニメをやっていました。数学なんか無縁でしたが、本を買ってきて、その通りにプログラミングすれば必ず動く事がわかりました。後は根気だけでした。

Hさんのコメント

はい。おっしゃる通りです。
だいたいは工学の範囲で仕事ができちゃいます(笑

ITに入る前は、橋梁・橋脚・ダム・擁壁・ボックスカルバート・土留め・地滑りなどの構造および応力計算をやっていました。

その当時、建設省(国土交通省の前身)で示方書というのがあって、そこに公式と判定値が記載してあり、私たちはその公式を元に鉄筋の太さやら、コンクリート強度やら、土の粘度やらなんたらをパラメータに入れて計算して、判定値の間に入っていればいっちょ上がりの世界でしたw 応力計算するための三角関数やら微分・積分は後からついてきましたからね。

確かにその通りなんです。結局、ΣもFor文で組めて、シグモイドも至極簡単で、後は再帰だけしてあげればだいたいは組めるんですが、私の場合、どこかの本に載っているものとか、論文に載っているものとかをそのまま組むのは気が済まないんですよね(笑

突き詰めちゃうんですよ。原理を理解してその先の設計をやりたいんですよね。なので、私の作ったAIは単純にFor文ではなくJava+OO設計で、再利用とパラメータ変形が簡単にできるように今のAIフレームワークのはしりみたいなのを作ってました。もともとがJavaアーキテクトですから、フレームワークをつくっちゃうんですよ。で、実際の脳ニューラルの中はパラレルで動いてるはずだから、スレッドで動かしてやれとか。。。そういった実験をしたりとか(笑
僕はデバッグを苦に感じたことがないというか、だいたい一発で行きます。デバッグする前にかなり繰り返し細かめの単位で単体をやるので(笑
デバッグで苦を感じる前にその過程を楽しんでいる。飽きたら放り出す。面白かったら続けるそんな感じですね。(まー受注してるものはう言そういうわけにはいきませんがw)
そんな感じですね。

考えてみたら、構造および応力計算にもAI適用できそうですねw

追記:よくよく考えたら、アカデミーの世界から、ダイレクトにエンジニアに来てるので工学だけじゃ、できない世界になっちゃうんですよね。数式で現さない論文を書いてくれたらいいんですけどそういう訳にはいかないと思う。なので
それぞれのAI物語の存在価値がでてくるわけですよ。ね(笑

著者のコメント

デバッグは3段階あります。段階1は論理デバッグで、プログラミングデバッグですが、これはすぐ解決します。第2段階は実行時でバッグです。OSが悪い場合があり、てこずるときもあります。AIでは段3段階が厄介です。

プログラミングが出来上がりデバッグというより検証作業ですが、ディープラーニングの教師と想起を繰り返して、何が正しいかを導かなくてはなりません。労力がかかるのと、どこでOKとするか、プログラミングの問題でなく人間の問題なので厄介です。

ボクも初期の画像AIエンジンのプログラミングには一人で約1か月でしたが、その検証には3人で10か月を要しました。

ところで、FAは振動解析がいいですね!橋梁・橋脚・ダムなら、その経年変化を調べることができます。実際には工場にある機械や、車両の故障予測に使うつもりです。もちろんディープラーニングさせてですが。AIによる振動解析で保全、保守の分野で10年は食えると思います。今これを準備しています。

<勾配降下法>

 

この値を求めたい


このコンテンツは会員限定のコンテンツです。
会員登録または、ログインしてください。