ホームページ | Pirikaで化学 | ブログ | 業務リスト | お問い合わせ |
Pirikaで化学トップ | 情報化学+教育 | HSP | 化学全般 |
情報化学+教育トップ | 情報化学 | MAGICIAN | MOOC | プログラミング |
MAGICIANトップ | MAGICIAN-Jr. | MAGICIAN-講義 | 過去の資料 |
MAGICIANとは、材料ゲノム(Materials Genome)、材料情報学(Materials Informatics)、情報化学(Chemo-Informatics)とネットワーク(Networks)を結びつけて(Associate)いかれる人材です。
2021.7.20
ニューラル・ネットワーク法についてWikipediaで調べてみよう。
歴史を見ると、1943年に形式ニューロンの考え方が発表されている。
世界最初の汎用電子式コンピュータENIACが動き出したのが、1946年なので、それの3年前には考え方はできていた事になる。
1986年に誤差逆伝播法(エラー・バック・プロパゲーション法)が開発され、これがすごく性能がよかった。そこで皆がこぞって使い始めて、第2次ニューラルネットワーク・ブームと言われている。
僕が使い始めたのが、1996年頃で、ブームの最後の頃だ。
その後しばらく廃れてしまったのだけど、その理由はニューラルネットワーク法は予測性能が出にくいことを解決できなかったからだ。
そして、2012年、デープラーニング型のニューラルネットワーク法で画像中の猫が認識できるようになり、第3次ニューラルネットワーク・ブームが始まった。
私が誰だかもう学んだ?
|
人間を動物と誤認識すると世間がうるさいのですよ。
|
ただ、これはニューラルネットワーク解析法の進歩というよりは、ビッグデータのあるかどうかの要因と、コンピュータの速度、メモリー、ネットワーク速度のハード的な要因が大きい。
インターネット上に画像データやテキストデータがたくさん蓄えられているもの、囲碁や将棋のようにコンピュータ同士の自己対戦で改良して行かれるものは話は早い。
薬の開発など、ビッグデータがない場合には、人間の設計図(遺伝子:ゲノム)を調べて設計する事が多くなってきた。
それを真似して、「材料や素材も、それを特徴付ける物性が出てくるのは、材料の遺伝子がそうなっているからだ」ということで、マテリアルズ・ゲノムの考え方が出てきた。そして後は、言葉遊びになってしまうが、材料情報学(マテリアルズ・インフォマティクス)と遺伝子も情報の一部として捉える事もある。
出てきた数字の羅列を「あーでもない。こーでもない」並べ替えると「AIが何か見つけてくれる」データサイエンスになる。
でも生まれたての赤ん坊と同じで、教えていないことは何も知らない。ビルの大きさの猫がいても驚きもしない。
難しいことは置いておいて、ニューラルネットワークに学習させてみよう。
ここでは、分子の一つの物性値である沸点をニューラルネットワークに学習させてみよう。
まず、Stepボタンを押してみよう。(この先は乱数と言って毎回異なる数字を使って計算するので、同じ結果にならないかもしれない。)
すると、CH3が2個、CH2が3個が表示される。
赤い丸が神経細胞を表していて、神経細胞がシナプスで結合されている。そして結合の強さが最初は乱数で示されている。
その結合の強さで計算した沸点の値がCalc.BPの所に表示されている。
そして、CH3が2個、CH2が3個の時は沸点は、309.2Kになるはず(教師データ)がAns.の所に表示されている。
ここで、Calc.BPがAns.より小さかった場合には、値が小さいよとLowのボタンをクリックしてあげる。
すると、ニューラルネットワークは、Calc.BPの値が少し大きくなるように、結合の強さを変更する。Lowボタンを押すと、結果が少しだけよくなるのが確認できるだろう。
逆に、Calc.BPがAns.より大きかった場合には、値が大きいよとHighのボタンをクリックしてあげる。
同じように、結合の強さを変更され結果が少しだけよくなる。
Stepボタンを押して次の化合物を同じように教える。
それを人力で繰り返してもいいのだけど、適当にして切り上げて、Autoボタンを何度か押す。すると自動で500回自動計算する。
結合の強さがあまり変わらなくなったら、Checkボタンを押しながら、どのくらいちゃんと学習できるか確認する。
ここで一番難しいのが、炭化水素という化合物の概念だろう。多分、高校の化学では、元素というところで、炭素とか水素は学んでいるはずだ。その元素の一番小さな単位が原子になる。
分子の説明(▶︎をクリックして開く)
昔、私の子供が一番理解できなかったのが、原子がくっついて分子になる所だ。
焼き鳥を例にして、この鶏肉が炭素、このネギが酸素で串を刺すと分子になる。と一生懸命ビール片手に説明したが結局息子二人とも化学は絶望的にダメだった。 だから、この説明がわからなくても大丈夫。 きっと生きて行かれる。(といいなー) 枝分かれの無い炭化水素化合物は、 ブタン:CH3-CH2-CH2-CH3 ペンタン:CH3-CH2-CH2-CH2-CH3 ヘキサン:CH3-CH2-CH2-CH2-CH2-CH3 と両末端のCH3が2つなのは同じだけど、間に入っているCH2の数が違う。 CH2の数が違うと、分子としての物性値がいろいろ異なる。 焼き鳥であったら、お肉がいっぱいついている方が食べごたえがある。でも値段が高い。焼くのに時間がかかる。などなどが変わってくるのと同じだ。 |
お肉は炭素、ネギは酸素。串に刺すと分子。バラバラにしたら原子。
|
沸騰、沸点の説明(▶︎をクリックして開く)
水の沸点が100℃である事は常識として知っているかもしれない。
それは、教える側からすると、とてもありがたい。
生まれたての赤ん坊と同じAIには、そこからきちんと説明しなくてはならない。
沸騰というのは、分子に熱をかけていくと、分子がだんだん激しく動き出して、最後には液体から、どんどん気体になっていく。そうした現象のことだ。
分子が小さいと、低い温度で沸騰する。
深い海の底では、高い温度で沸騰するし、高い山上では低い温度で沸騰する。
これは、まだ気にしなくて良いけど、圧力という押さえつける力によっても分子の動きやすさは変わるということだ。
CH2の数によって化合物の沸点はいろいろになる。その値はテーブルに記載してある。
この沸点(単位はケルビン)を学習させよう。
最終的に神経細胞の結びつきの強さは右図のようになる。 ここでは、沸点を学習させたが、毒性、引火性、水への溶解度などなんでも良い。 枝分かれを入れたければ、CHの数、ネギマを入れたければ酸素の数を入れるニューロンを増やしていく。 |
知識や認識は神経細胞の結び付きの強弱の中に蓄えられる。
|
現実の神経細胞でも学習によってシナプスの太さが変わっていく。
|
人間の脳の中でも同じようなことが起きていると言われている。 というか、逆で、人間の脳の中で起きているような事を人工的なニューラルネットワークに置き換えてみると、学習させることができたというのが正しいのかもしれない。 化学の専門家は構造を見れば大体の物性を予測できるのは、繰り返し学習する事によって、このようなネットワークを身につけているからだろう。 |
神経細胞ニューロンはシナプスを通じて他のニューロンと情報のやりとりをしている。最初はこのネットワーク自体はものすごい数ある。
そこにある情報を繰り返し流すと、だんだんよく使うネットワークはどんどん太くなって、効率的に情報が流れるようになる。逆に使われないネットワークはどんどん細くなって、消滅してしまう。
テストの前に一夜漬けで勉強した後、2度と見ないのであればネットワークは消えてしまう。同じ時間を7分割して、覚えて忘れるを7回繰り返すと神経ネットワークは十分に太くなり、簡単には消滅しない。
暗記の訓練をするというのは、神経ネットワークを効率的に太くするため有効だ。
でも、自分の経験上は、好きでも無いことをいくら訓練したところで頭には入って行かない。
ここまでできてしまえば、後は神経細胞を増やす(メモリーの問題)。学習データを増やす(メモリーや計算速度の問題)。繰り返し学習(計算速度の問題)。なので、ハードが整備されてくればどんどん性能が上がってくる。
ニューラル・ネットワークで学んでいるのか!
|
本当だ。入っている。
|
すると残された大事なことは、学習データの問題だ。
ハードにも影響を与えるけど、化学系の少ないデータでも正しく学ばさせるには、ソフトの問題でもある。
Copyright pirika.com since 1999-
Mail: yamahiroXpirika.com (Xを@に置き換えてください) メールの件名は[pirika]で始めてください。