SSブログ
科学、数学 ブログトップ
前の10件 | -

LLM [科学、数学]

今週末は、土日とも雨になってしまいましたので、先週の桜の写真を








先週、google/flan-t5-xxlというLLM(Large Language Model)を試しましたが、今回は、それよりも小さなメモリで動くgoogle/flan-ul2 (https://huggingface.co/google/flan-ul2 ) というのを使ってみました。

huggingfaseのサイトの使い方
https://huggingface.co/google/flan-ul2#using-the-model
を見ると、簡単な計算問題もできるらしいです。
Answer the following question by reasoning step by step. The cafeteria had 23 apples. If they used 20 for lunch, and bought 6 more, how many apple do they have?
に対して、
They have 23 - 20 = 3 apples left. They have 3 + 6 = 9 apples. Therefore, the answer is 9.
と、答える例が書かれていました。

このままのデーターが学習データに入っているのではなく、ちゃんと文を理解して計算してるのか、数字を変えて質問してみました。

Q: Answer the following question by reasoning step by step. The cafeteria had 23 apples. If they used 19 for lunch, and bought 6 more, how many apple do they have?
A: They have 23 - 19 = 4 apples left. They have 4 + 6 = 10 apples. Therefore, the answer is 10.

ちゃんとできてます。
ちなみに、flan-t5では、
The cafeteria has 23 - 19 = 4 apples. They have 4 + 6 = 10 apples. Therefore, the answer is 10.
という答えが返ってきます。

Q: "Why Do Japanese People Love Sakura so Much?"
A: Sakura is a symbol of the beauty of life and the transience of life.

flan-t5では、Japanese people love cherry blossomstという、そっけない答えだったけど、
「桜は、命の美しさと儚さのシンボルだから」って、どこで、こんなこと覚えたのでしょう?
手塚治虫の「アドルフに告ぐ」で、大和魂って知ってるのかと聞かれたアドルフ・カミルが、「ひさかたのォ、光のどけき春の日に、しず心なく花の散るらん、でっしゃろ」って答えたのを思い出してしまいました。

Q: How do you investigate vitamin C content in food and drinks?
A: You can look at the label on the package.

食品や飲料品にビタミンCが入っているかどうか調べる方法は?
「パッケージのラベルを見ろ」って、 「spectrophotometer ( 分光光度計 )を使え」って答えたflan-t5より上手かもしれない。

次は、イギリスの中学生の学力テストGCSEの例題
Q: Why did the discoveries of the Renaissance make little practical difference to medical treatment in the period c1500-c1700?
( ルネサンス期の発見が、1500年から1700年の間、医療にほとんど実用的な進歩をもたらさなかったのはなぜか?)

これは、flan-t5では、
syphilis was cured
( 梅毒が治ったから )
という、意味不明な答えでしたが、
flan-ul2は、
the medical profession was dominated by quacks
( 医療の専門家がヤブ医者ばっかりだったから ) って、なんかすごいぞ flan-ul2
( ちなみに、GCSEでは回答として、ルネッサンス期の発見は、解剖学とか外科的なものが中心だったので、医療の進歩には、あまり貢献しなかった。のようなものを期待しています。)




nice!(15)  コメント(0) 

お絵描きAI [科学、数学]

最近AIでお絵描きするのが流行ってるらしいですが、GPUの無いパソコンでも作れるソフトウェアがリリースされてました。

stable_diffusion.openvino
Implementation of Text-To-Image generation using Stable Diffusion on Intel CPU.
https://github.com/bes-dev/stable_diffusion.openvino

"cats on a bicycle"ってやってみたら
なんか、そのまんま(しっぽや足がちょっと変だけど)で意外性がなかった。
catonbicycle.jpg


"art painting of cats on a bicycle" ってしたら、思っていたような絵になりました。
art_painting_of_cats_on_a_bicycle.jpg

surrealism って注文してみた。
"surrealism art painting of cats on a bicycle"
surrealism_art_painting_of_cats_on_bicycle.jpg

CPUが、i7-10750H CPU @ 2.60GHz のノートパソコンでも、3分弱で絵が作れます。

ヴィヴィッドとシュールの違いとかも、なんとなく表現できてるっぽく見えて、ちょっとすごいかも。
"vivid art of birds with big flowers"
vivid_art_of_birds_with_big_flowers.jpg

"sur art of birds with big flowers"
sur_art_of_birds_with_big_flowers.jpg
nice!(11)  コメント(0) 

機械学習による流体解析 [科学、数学]


2,3年ぐらい前から「機械学習による流体解析」というのが流行っているらしいです。(今頃気がつきました。)
従来のシミュレーション方式に比べて計算時間が数十分の一にできたり精度の高いシミュレーションができるそうです。

PhiFlowとかjax-cfdなどのオープンソースのソフトウェアもあるんですね。

PhiFlow
https://github.com/tum-pbs/PhiFlow/
phiflow.jpg

jax-cfd
https://github.com/google/jax-cfd
jax-cfd.jpg
https://colab.research.google.com/github/google/jax-cfd/blob/main/notebooks/demo.ipynb



YouTubeにLBM (Lattice Boltzmann Method) Fluid Simulation in Python with JAX というのがあったので、GPU(GTX 1650Ti)付きのノートパソコンで動かしてみました。


ノートパソコンの非力なGPUでも、わすか数秒でシミュレーション結果の動画が作れます。


オリジナルのソース
https://github.com/Ceyron/machine-learning-and-simulation/blob/main/english/simulation_scripts/lattice_boltzmann_method_python_jax.py
では、円柱(cylinder)の周りの流体の計算になっていますが、障害物の形を変えたシミュレーションもやってみました。

ひし形


楕円形



nice!(12)  コメント(0) 
共通テーマ:学問

素数の音楽を読みました。(その2) [科学、数学]

Lattice
(格子: Latticeの例)

前回は、最近読んだマーカス デュ・ソートイ の「素数の音楽 (新潮文庫)」に書かれていたリーマン予想について書きましたが、この本には、インターネットで利用されているRSA(Rivest–Shamir–Adleman:発明者3人の名前)暗号の誕生や、RSA129 の解読には、4京年かかると思って懸賞金をかけたら、レンストラとマナッスによって1994年に解かれてしまった話なども書かれています。

RSA129とレンストラ博士の話は、当時のThe New York Times の記事にもなっています。(タイトルが長い)
The Assault on 114,381,625,757,888,867,669,235,779,976,146,612,010,218,296,271,242,362,562,561,842,935,706,935,245,733,897,830,597,123,563,958,705,058,989,075,147,599,290,026,879,543,541

https://www.nytimes.com/1994/03/22/science/assault.html

コンピュータの性能が高くなったことと、効率の良い計算方法が発見されたことで、暗号の強度を保つためには、桁数の多いより複雑な鍵を使わなければならなくなって、現在では2048ビット以上の長さが推奨されていますが、この先さらに効率の良いプログラムや量子コンピュータができてしまたときのために、米国国立標準技術研究所(NIST)を中心に耐量子計算機暗号(PQC: Post-quantum cryptography)という新しい暗号化の標準を決めようとしているそうです。(もうすぐ決まる)
https://csrc.nist.gov/Projects/post-quantum-cryptography

NIST_PQC.jpg
(ちょっと古い資料だけど、絵がかわいいので:https://csrc.nist.gov/CSRC/media/Projects/Post-Quantum-Cryptography/documents/asiacrypt-2017-moody-pqc.pdf
THE SHIP HAS SAILED The NIST Post-Quantum Crypto “Competition”Dustin Moody, NIST )

レンストラ博士が考えたRSAへのアタックは、レンストラ–レンストラ–ロヴァッツの格子基底縮小アルゴリズム(Lenstra–Lenstra–Lovász (LLL) lattice basis reduction algorithm)という計算方法を利用するもので、UCSDなどでは学部の授業でやるみたいです。(200番台なので2年生?)
https://cse.ucsd.edu/graduate/current-quarter-course-descriptions-recommended-preparation


全くヒントがない暗号文だと、パソコンでは1年かけても計算できませんが、短い文章や、文章の一部分がわかっていると、ノートパソコンでも一瞬で計算できます。
UCSDの CSE 291-I: Applied Cryptography Nadia Heninger UCSD Spring 2020 Lecture 17
https://cseweb.ucsd.edu/classes/sp20/cse291-i/lectures/17-lattices-notes.pdf
にSage Mathで計算する例があったので、自分のノートパソコンでやってみました。

---
N=random_prime(2^150)*random_prime(2^150)
message = Integer('thepasswordfortodayisswordfish' , base=35)
c=message^3%N

# 'thepasswordfortodayis’ まで分かっていてパスワードが謎の場合
a=Integer('thepasswordfortodayis000000000' ,base=35)
X=Integer('xxxxxxxxx' ,base=35)
M=matrix([[X^3,3*X^2*a,3*X*a^2,a^3-c], [0,N*X^2,0,0],[0,0,N*X,0],[0,0,0,N]])

# LLL格子基底縮小
%time
B=M.LLL()
Q=B[0][0]*x^3/X^3+B[0][1]*x^2/X^2+B[0][2]*x/X+B[0][3]
Q.roots(ring=ZZ)[0][0].str(base=35)

# CPU times: user 0 ns, sys: 0 ns, total: 0 ns
# Wall time: 3.34 µs

# 解読結果
# 'swordfish'

ちなみに、パスワードの例’swordfish'は、ハッカーが主人公の映画のタイトルで、映画の中で「最もハッキングされにくいコンピュータは何か知っているか?DECのコンピュータだ、なぜなら使っている人が少ないから」みたいな会話があって、私はDECに勤めていたので、ちょっと複雑な気持ちでした。



リーマンのゼータ関数の複素平面のプロット、英語版のWiki
https://en.wikipedia.org/wiki/Riemann_zeta_function
にかっこいいのがあったので、真似してみました。
たぶん
https://github.com/davidlowryduda/phase_mag_plot
を使っているんじゃないかな?
RiemannZeta_phase_mag_plot.PNG



nice!(12)  コメント(0) 
共通テーマ:

素数の音楽を読みました。 [科学、数学]

日曜日は、午前中から雨になってしまったので、マーカス デュ・ソートイ の「素数の音楽 (新潮文庫)」という本を読みました。


日本語版は2013年に発売されていて、以前から本屋さんに並んでいたので気になっていたのですが、なんで今まで読んでなかったんだろう...

素数というと、小学生か中学生のころに、「エラトステネスのふるい」という素数の見つけ方を習ったと思うのですが、この本では、無限に続く素数の見つけ方を探す話から、素数がどのように分布しているのかというリーマン予想を中心に、素数と暗号や量子力学など様々な分野との関係が書かれています。
登場人物も、リーマン、ヒルベルト、ディリクレ、ゲーデル、ラマヌジャン、ヴェイユ、コンヌなど綺羅星のような超一流の数学者たちが大勢並んでいて、物語としてとても面白いです。

この本に、綺麗な図や写真などがあったらもっと楽しいだろうな、と思いましたが、それだと本の値段が高くなってしまいますね。

それなら、自分で描いてみようということで...

リーマン予想(Riemann hypothesis)とは、リーマンゼータ関数
RiemannZetaFunc.jpg
のゼロ点が、負の偶数と、実部が 1/2 の複素数に限られるという予想で1859年に提唱されてから現在まで証明されておらず、2000年には、クレイ数学研究所が100万ドルの懸賞金をかけています。

Sage Math ( https://www.sagemath.org/ )というソフトを使うと、リーマン予想で使われているゼータ関数の複素平面での様子を、complex_plot関数とzeta関数のたった2つの関数だけで表示することができます。

complex_plot(zeta, (-30,30), (-30,30))

zeta_complex_plot.jpg
上の図のOut[1]は、カラーの凡例です。偏角0が赤、π/2が黄緑、πが水色、3/2・πが青紫になっています。
下のOut[2]のゼータ関数をカラーでマッピングした図の中で、y軸より右側(x>0)に、青や黄色がはみ出しているあたりが非自明のゼロ点になります。


zeta関数の値を、絶対値(赤)、実部(青)、虚部(緑)にして等高線図(コンター)で表示してみました。
zeta_2d.jpg
赤の線の密度が濃いところがゼロ点で、x軸上(y=0)のx=-2, -4, -6...は自明なゼロ点、x=1/2 のところで縦に並んでいる点が非自明のゼロ点になります。




x=1/2の臨界線上のゼータの値をy=0 (虚数部 0i )から200 ( 200i )まで、順番に計算した様子を動画にすると、x= -1.5 の近く( ζ(1/2 + 0i) = -1.4603545... ) からスタートして、ぐるぐる回りながら、ときどき原点Oを通ることがわかります。



ネットで検索してみたら、こんな本も出版されていたんですね。
やっぱり綺麗な図があると、楽しそうですね。

ビジュアル リーマン予想入門 ~グラフで解き明かす素数とゼータ関数の関係 Tankobon Softcover – July 17, 2020
https://gihyo.jp/book/2020/978-4-297-11452-7


ビジュアル リーマン予想入門 ~グラフで解き明かす素数とゼータ関数の関係

ビジュアル リーマン予想入門 ~グラフで解き明かす素数とゼータ関数の関係

  • 作者: 木内 敬
  • 出版社/メーカー: 技術評論社
  • 発売日: 2020/07/17
  • メディア: 単行本(ソフトカバー)







素数の音楽 (新潮文庫)

素数の音楽 (新潮文庫)

  • 出版社/メーカー: 新潮社
  • 発売日: 2013/09/28
  • メディア: 文庫





nice!(12)  コメント(0) 
共通テーマ:

ノーベル生理学・医学賞 [科学、数学]

2021年の、ノーベル生理学・医学賞は、mRNAワクチンになるのかなと思っていたら、温度受容体および触覚受容体を発見した米カリフォルニア大学サンフランシスコ校のジュリアス(David Julius)教授と米スクリプス研究所のパタプティアン(Ardem Patapoutian)教授でした。

トウガラシは、何故HOTかということを解明したらしいです。(ちょっと違う)

https://www.nobelprize.org/prizes/medicine/2021/summary/
The_Nobel_Prize_in_Physiology_or_Medicine_2021.jpg

生物は、視覚や聴覚、嗅覚、触覚、味覚などの感覚で周囲の環境や食べ物の味などを把握していますが、触覚や温度,痛みといった感覚の仕組みは長い間不明だったそうです。

17世紀の哲学者ルネ・デカルトは、皮膚と脳の間に糸があり、火の粒子がそれを引っ張る事によって "熱い" という感覚が脳に伝わると考えていたらしい。
LHOMME_DE_RENE_DESCARTES.jpg
https://www.nobelprize.org/uploads/2021/10/press-medicineprize2021.pdf

ノーベル賞を受賞した米カリフォルニア大学サンフランシスコ校のジュリアス(David Julius)教授達は、1997年にトウガラシの辛み成分であるカプサイシン (capsaicin)に注目して、痛みの感覚を発生させる受容体を突き止めたそうです。(辛いの苦手だったのかな?)

ジュリアス氏らは、カプサイシンに反応した感覚ニューロンを含む後根神経節を作成し、cDNAライブラリーという、何百万ものDNAコレクションを得て、この培養細胞で1遺伝子ずつ過剰発現させ、カプサイシンの応答を調べ、活発な応答をする受容体(後にTRPV1 : Transient receptor potential cation channel subfamily V member 1 と名付けられた)を発見したそうです。

さらにTRPV1をよく調べると、カプサイシンが無くても、周囲の温度が43℃を超すと活性化することがわかり、痛みセンサーは温度のセンサーでもあり,辛さと熱さ(hot)を感じる仕組みが同じであることがわかったらしいです。

TRPV1.jpg
https://www.nobelprize.org/uploads/2021/10/press-medicineprize2021.pdf

痛みや熱さのセンサーのTRPV1ですが、ニンニクやネギなどに含まれるアリシン(allicin)という物質によって、センサーの機能が阻害されるらしいです。
ニンニクが、日本に伝わってきた当初、鎮痛や解熱の薬用で使われてきたことと関係がありそうですね。

TRPV1 (Transient receptor potential cation channel subfamily V member 1)は、 Transient receptor potential cation channel(一過性受容体電位型チャネル)という名の通り、細胞膜にあって陽イオン(cation) を透過させ電位差を発生させることで、刺激を電気信号に変えて脳に伝えます。

Psikitを使ってPsi4で、カプサイシン(capsaicin)と、アリシン(allicin)の分子軌道(分子の中の電子の振る舞い)を計算してみました。

カプサイシン(smiles: 'O=C(NCc1cc(OC)c(O)cc1)CCCC/C=C/C(C)C')は、ノートパソコン(Core i7-10750H物理6コア)で6並列で実行しても、26分もかかった。

カプサイシン(capsaicin)
HOMO (Highest Occupied Molecular Orbital) の表示
Psi4_Capsaicin.jpg


アリシン(allicin)
Psi4_Allicin.jpg


アケビ(追分市民の森)



追分市民の森のコスモス畑、花が咲き始めていました。

nice!(11)  コメント(0) 
共通テーマ:学問

光合成 [科学、数学]

今週末も雨だったので、家で「カラー図解アメリカ版新・大学生物学の教科書 第3巻 生化学・分子生物学 (ブルーバックス)」読みました。

光合成


植物が太陽の光のエネルギーを利用して、二酸化炭素と水から糖質と酸素を作ることは、よく知られていますが、光合成の過程で「クロロフィル蛍光」Solar-Induced chlorophyll fluorescence (SIF)という弱い光を発するらしいです。
この光を人工衛星で観測して、地球全体の光合成の様子を調べるFLEXという、プロジェクトがあるそうです。

The FLuorescence EXplorer (FLEX)
https://earth.esa.int/eogateway/missions/flex

FLEX_Satellite.jpg


Institut für Bio- und Geowissenschaften IBG-2: Pflanzenwissenschaften
https://optimise.dcs.aber.ac.uk/wp-content/uploads/Rascher-COST_Optimize-wide_screen-for_publishing_compressed.pdf
sif_1.jpg


sif_2.jpg

https://branblack3125.github.io/sifviz/map.html
SIFVIZ: Visualizing Solar-Induced Chlorophyll Fluorescence (SIF)
SIF.jpg


21世紀の生物学、すごい。






nice!(14)  コメント(0) 
共通テーマ:

生化学・分子生物学の本 [科学、数学]

カラー図解アメリカ版新・大学生物学の教科書 第3巻 生化学・分子生物学 (ブルーバックス)
という本を買いました。
ブルーバックスなのに、2千円もするので、迷っていたのですが、mRNAワクチンとかPCRとか、最近の話題についていけるように読んで見ることにしました。


絵が綺麗


PCRによるDNA断片の増幅
PCR


カラー図解アメリカ版新・大学生物学の教科書は、千ページ以上ある米国の生物学教科書『LIFE』(11 edition)から「細胞生物学」、「分子遺伝学」、「分子生物学」の3つの分野を抽出して翻訳したもので、分子生物学は、第14章「エネルギー、酵素、代謝」から始まります。


生物は、化学反応に伴うエネルギーなどを利用しますが、最近は、フリーのソフトで分子式からパソコンで量子化学(Quantum Chemistry)計算を行って、エネルギーを求めたりすることができるらしいです。

ケモインフォマティクス(Cheminformatics)の代表的なオープンソースのRDKitと量子化学計算ソフトのPsi4の両方を利用できる便利なPsikit ( https://github.com/Mishima-syk/psikit ) というのを使ってみました。

GitHubにインストールの方法が出ています。
https://github.com/Mishima-syk/psikit
psikit.jpg

psi4.jpg
psi4は、
https://psicode.org/installs/v14/
で、OSの種類、インストール方法、Pythonのバージョン、psi4のバージョンを指定すると、インストール用のスクリプトが、
conda install psi4 python=3.7 -c psi4
のように表示されますので、こちらを使用します。
あと、respは、pipで入れないと動かない(Install resp from github repository (resp from conda doesn't work))と書いてありましたが。試しにcondaで入れたもので動いてしまいました。
ということで、下記の5行でインストールは、完了

conda install psi4 python=3.7 -c psi4
conda install -c rdkit rdkit
conda install -c conda-forge debtcollector
conda install -c psi4 resp
conda install -c iwatobipen psikit

グルコース(glucose)C6H12O6の計算をやってみました。
分子式は、SMILES ( simplified molecular input line entry system )で指定します。(glucoseは、 'OC[C@@H](O1)[C@@H](O)[C@H](O)[C@@H](O)[C@@H](O)1' )

---
from rdkit.Chem import rdMolTransforms
from rdkit.Chem.Draw import IPythonConsole
from psikit import Psikit
from IPython.display import Image, display_png

pk = Psikit()
smi = 'OC[C@@H](O1)[C@@H](O)[C@H](O)[C@@H](O)[C@@H](O)1' # glucose
pk.read_from_smiles(smi)
pk.mol

---
open PyMol
run "frontier.py" from File -> Run Script









nice!(11)  コメント(2) 
共通テーマ:

長雨 [科学、数学]

気象衛星ひまわりの水蒸気画像でみると、日本の周り、水蒸気でいっぱいみたいです。
14日には九州や山口、広島


15日には関東地方も真っ白になってます。



地球の風(https://earth.nullschool.net/jp/)サイトでみると16日になっても、雨続きそうですね。


温帯低気圧が通り過ぎた後の8月10日は、横浜から富士山も見えて、青空が広がっていたのに







先週、「トロイア戦争」を読み終えたところですが、なんどヒサルルクの遺跡で、トロイの木馬の一分かもしれない紀元前12世紀~前11世紀の巨大なモミの木製の板材や梁材が見つかったそうです。続報が楽しみ。
https://greekreporter.com/2021/08/10/archaeologists-discover-trojan-horse-in-turkey/
Archaeologists Claim They’ve Discovered the Trojan Horse in Turkey
TrojanHorse.jpg

nice!(12)  コメント(0) 

Ancient DNA [科学、数学]

日本では、新型コロナが流行しはじめてから1年以上たった今でもPCR検査が、なかなか進みませんが、考古学の分野では、遺跡から発掘された人骨や、土器などに残された穀物などから採取したDNAをPCRを利用して分析することで、古代人の移動や交雑、食べていたものまで調べられるようになり、ヨーロッパの歴史が大きく書き換えられているそうです。

https://indo-european.eu/ancient-dna/
Ancient_Y_DNA_mtDNA.jpg


indo-europeanのサイトは、コンテンツが充実していて
A Song of Sheep and Horsesなどの書籍のPDFや、DNAのデータや分析用のツール(Admixtoolsなど)がダウンロードできます。

admixtools.jpg


Y染色体ハプログループ(父系)とミトコンドリアDNAハプログループ(母系)の分布がわかるページもあります。

https://indo-european.maps.arcgis.com/apps/webappviewer/index.html?id=e355625d5fbe46469cfdc85fce6eb04a
Haplogroup.jpg


ちょっと難しかったので、キッズ向けの、これから読むことにしました。
The Revolution of Ancient DNA—What Does Genetics Tell Us About the Past?

https://kids.frontiersin.org/articles/10.3389/frym.2019.00024
Ancient_DNA.jpg
PDFファイルのありか
https://www.researchgate.net/publication/331575817_The_Revolution_of_Ancient_DNA-What_Does_Genetics_Tell_Us_About_the_Past

nice!(12)  コメント(0) 
共通テーマ:学問
前の10件 | - 科学、数学 ブログトップ