2023年1月4日水曜日

数学者は人工知能の判断基準を理解しようとしているようです

 この投稿は前回「人工知能は理解しない というお話し」の続きです。

人工知能が判断できるようになっても、「なぜ判断できたか」は説明できないというお話でした。ではなぜ説明もできないような「判断」が業績として社会で受け入れられて、活用しているのかというと、

説明できなくても、その人工知能を簡単に運べたり再現できたりできるからです。

家庭用の炊飯器が美味しくお米を炊く方法はわからなくても、家電量販店で炊飯器を買ってきてスイッチを入れると、みなさんも使えますね。同じように、理由はわからなくても人工知能はある程度知識があれば、開発したヒトから買ったり、似たモノを作ることができるのです。

それで、理由を説明できない人工知能を現代社会は活用している、というわけです。

でも、説明できないモノについて納得しない人たちは必ずいるはず、と思ってScience newsで数学の記事を探していました。数学者のみなさんは、きっと、「説明できない」ということに納得されない、と考えたからです。

それで、

Finding simplicity within complexity

という記事を見つけました。

紹介していた研究は、Nature machine intelligence という雑誌の

Data-driven discovery of intrinsic dynamics

という論文です。著者のFloryanさんは、20000以上の変数でしか説明できない(つまりほとんど説明になっていない)化学反応を一つの数式にまとめることができたそうなのです。

この研究をうまく利用すれば、大量のデータから人工知能が何を学習して正しい判断に至ったかを説明することができるかもしれません。

おそらく、その論文にはたくさんの数式が並んでいて、どうやって自分の課題に適用すればよいかはすぐにはわからないかもしれませんが、内容はわからなくても、権威ある雑誌で高度な専門能力を持った数学者が示してくれた数式ですから、使ってみる価値はあります。その数式を使うことができれば、たくさんの問題を解決することができるはずです。

Pythonなどのプログラムを使うと、その数式はほとんどわからなくても、数式を使うことは、可能です

残念ながら、現在、論文の本文を読むことはできませんが、要旨と他の研究を調べて、彼らがどのような数学的技術を使ったかは調べることができました。

Dynamics とTheory of manifolds です。

Dynamicsは、変化を解析する学問で、おそらく、学習する際に、どのように予測が進むかを計算中に調べることで人工知能を単純化しようとしているようです。

もう一つのTheory of manifoldsですが、多面体に関する理論です。正確なところはわからないのですが、どうも、人工知能で学習している多数の変数を表面に割り当てたような多面体を想定すると、その多面体と似ている単純な多面体を作り出すことができて、単純な多面体は少ない変数を持つ単純な数式にできるらしいということが想定されます。


Wikipedia (https://en.wikipedia.org/wiki/Manifold)






最後にまとめますと、

数学者は、普通のヒトが理解できない人工知能の判断基準を単純な数式にまとめる技術を見つけたようなのです。

これを理解と呼ぶかは別にして、もし、この技術が実用化されると、人工知能の処理速度は何千倍も早くなります。おそらく、この技術は、まず自動運転に活用されることと思います。私もどこかで使ってみたいと思います。

2023年1月1日日曜日

人工知能は理解しない というお話し

 このブログでは、ゲノムや医療診断などの大量のデータベースを分析して新しい発見を生み出す方法に関連する研究をご紹介したいのですが、どうしても予備知識が必要になります。

次に紹介したい発見はScientificDaily NewwのFinding simplicity within complexityという記事なのですが、これを説明するためには、私達が人工知能と呼んでいる技術がどのような特性を持っているかをお話しする必要があります。

それで今回は、「ニューラルネットワーク自作入門」という本をベースに、代表的人工知能である教師あり機械学習が何をしているかについてお話します。

人工知能というと、ヒトの顔を判断して、人物を特定する仕組みを想像されると思います。

実は人工知能と言われる仕組みにも多数あって、教師なし機械学習と言われるプログラムは、とってもわかりやすいものです。短く言うと、データの中から区別しやすい指標を見つけるということです。例えば、受付に来られたヒトの性別を判断するためには、大量のデータを利用することができます。顔の輪郭や服装、声の音質などがそれらにあたります。でも、最も正確に判断したいと考えると、受付時の質問用紙に性別の記入欄を設けておいて、それを読み取ってできるデータ(これを指標といいます)が最も正確です。

ちょっと例えがおかしいと感じたかもしれませんが、データというのは、そのような多様な性質や入手の難易度などを持っているものです。その中から、最も正確性が高い指標やその組み合わせを探し出すのが、対象を分類して区別するのに有効です。このような分類方法を見つける手段が教師なし学習です。

それに対して、手書きの文字を読み取ったり、顔の判別をしたりする場合は、もっと複雑です。多くの場合対象の持っている指標を単純に組み合わせて判断をすることができません。

それで、パーセプトロンという小さな判断プログラムを組みあせます。この判断プログラムには、データが持っている1つか2つの指標を入力します。すると、パーセプトロンは設定値に応じて答えを出します。その一つ一つのパーセプトロンは手書き文字の示す数字などの最終的な答えを出すことはできませんから、連結させます。このパーセプトロンが層状に連結している、多層パーセプトロンは複雑な判断にも対応するようになります。パーセプトロンの一個一個は単純な判断だけをしますが、それらを連結しますと、複雑な分類にも対応するようになります。ここで、パーセプトロンの一個一個の判断基準は、単純な、重みや出力先などの設定をだけで成立しています。多層パーセプトロンで各パーセプトロンの重みや出力先を調整して、最も良い数字を見つけることができると、一つの対象の分類が可能になることは想像できると思います。犬と猫のイラストがあって、耳の形や鼻の形などを数値にして入れると正しく犬か猫を選べる設定値があることは想像いただけると思います。

一枚の犬か猫のイラストについてパーセプトロンごと重みや出力先を工夫すると、犬か猫を正しく判断できるようになるのは想像いただけると思います。

続けて、イラストをいくつか試すときにも、一個のサンプルと同じように重みや出力先を変更すると、犬か猫が正しく判断できます。ただし、たくさんのイラストで判断するときに、重みや出力先の設定値はパーセプトロンごとに違っても良いけれど、イラストごとに変更してはいけないとします。かなり大変になりますが、もしかすると、いろいろなイラストで犬か猫を正しく判断できる設定値が存在するかもしれません。正しく判断できる重みや出力先のセットを探すためには、毎回、イラストの正しい答えを見ながら調整します。

そんな、パーセプトロンの重みや出力先を見つける作業が 教師あり機械学習です。

出来上がった、パーセプトロンの重みや出力先のセットは、多くの場合、これまでに使っていなかったイラストを持ってきても正しく判断する可能性比較的高いと思いませんか?

例えば、1万枚のイラストで調整したパーセプトロンの重みや出力先のセットは10,001枚目のイラストについても正解を出しそうです。

ただ、想像いただけると思いますが、こうやって正解率を高くした多層パーセプトロンは、たくさんの重みや出力先を数字として持っていますが、人間が理解できるような、単純な指標の組み合わせは教えてくれません。あるのは、ただただ、たくさんのパーセプトロンについている設定値だけです。

結果的に、教師あり機械学習は、多くの対象を区別可能にしてくれますが、その区別方法を人間が「理解できる」ような法則にしてくれることはありません。

これが、今社会で使われている人工知能の特徴です。

つまり、人工知能が優秀でも、人工知能に「どうやって区別できたの」「どう理解したの」と尋ねることは、全く無意味なのです。何千ものパーセプトロンの設定値を答えてもらっても理解したとは言えませんね。

結局「人工知能は理解しない」と考えるのが最も有効な考え方です。

2022年12月30日金曜日

透明なカエルは眠るときに血を隠す (Scientific news)

 今回はScientific newsの記事をご紹介します。

Sleeping glass frogs hide by storing most of their blood in their liver

短く紹介しますので、ぜひ記事をご覧ください。

Duke UniversityのCarlos Taboada らは、葉の裏で生活する透明なカエルに注目しました。そのカエルは透明なのですが、眠るときには薄い緑色になります。カエルの血もヒトと同じく赤いので、薄い緑色というのは、不思議なことです。実際、そのカエルは、起きているときには、赤い血が循環していて、全体に薄いオレンジ色です。なぜ緑色になるのかを、Carlosさんらは、突き止めようとしたのですが、カエルが起きてしまうとすぐにオレンジ色になります。

Carlosさんたちは、カエルを起こさないで内部を調べるのにかなり苦労したそうです。

いろいろ検討した結果、解決する方法として、光音響イメージング(西條研究室)という技術を使いました。

東北大学の西條研究室によると、ナノ秒パルスのレーザーを照射することで、瞬間的に組織が熱膨張を起こし超音波を発生します。光音響イメージングは、この光音響効果を利用したイメージング方法だそうです(西條研究室)。レーザー光はほんの一瞬のため、カエルが目覚めることは防ぐことができたようです。

光音響効果を利用したイメージング法を利用することで、Carlosさんたちは、カエルは血液の色を隠して肝臓に貯めていることを発見しました。

研究者のみなさんが、眠りについたカエルが目覚めることの無いように知恵を絞って「消えた赤血球」を探している様子を想像すると、発見の大きさとは関係なくとてもホッコリします。

肝臓に、色を変えて赤血球を貯める方法は、カエルにとって、葉の裏で眠るときに、血の色で外的に見つかってしまうことを防ぐのに重要かもしれません。緑色の葉の裏にオレンジ色のカエルがいるととても目立ちそうです。

Carlosさんたちは、この発見を透明な魚類や両生類の進化という点で注目しているようですが、人間にとっては、血液の保存技術として有効な技術になるかもしれません。

2022年12月27日火曜日

ウイルスを特定せずに家畜の遺伝子からウイルスを探す - 17年前の研究 -

 前回は動物のゲノムデータからウイルスを探す研究を紹介しました(ゲノムデータからウイルス)。

その次のステップを考えてみます。

その論文では、Blastという、ウイルスの塩基配列データベースに掲載されているウイルスの塩基配列を動物のゲノムデータを単純に比べて塩基配列を探しています。だから、この方法では、「知られているウイルス」しか調べることができません。

でも、もし、動物のゲノムデータや遺伝子データからウイルスを探すとしたら、できれば、「これまでに知られていないけれども、もしかしから危険なウイルスを探したい」と研究者なら考えるはずです。そのようなウイルスが偶然でも発見されていれば、感染拡大に備えることができます。

そこで、必要になるのが「ウイルス種とは関係なくウイルスを探す」技術です。

なんかすごく突飛な技術のように思われるかもしれませんが、実現しています。自慢ですみませんが、私が論文を書きました(ブログの著者を明かしてしまいました)。

Endoh, Daiji, et al. "Species-independent detection of RNA virus by representational difference analysis using non-ribosomal hexanucleotides for reverse transcription." Nucleic acids research 33.6 (2005): e65-e65.

この研究では、「〇〇ではないDNAを増幅するPCR法(サブトラクションPCR法)」を使ってウイルスをPCRで増やしています。つまり、動物ではない塩基配列を探したらウイルスなはず、という発想で論文を作りました。ただし、動物全体のDNAではうまく行かないかもしれないので、RNAウイルスに限定して、動物のRNAをリボゾームRNAという最も一般的なRNAに限定しました。

そしたら、6塩基のパターンで、ウイルスの特徴を見つけることができました。実は逆で、動物のリボゾームRNAが特徴的で、ウイルスにはそのような特徴が無いことがわかったのです。図のAがリボゾームRNA、Cがウイルスです。横軸は、リボゾームRNAに存在している6塩基のパターンを出現頻度順に並べたもので、縦軸はその頻度を示しています。なんと、リボゾームの配列を6塩基に分けるとほとんどが96種類の6塩基で作られていて、ウイルスはそのようなことがありませんでした。

Endoh, Daiji, et al. "Species-independent detection of RNA virus by representational difference analysis using non-ribosomal hexanucleotides for reverse transcription." Nucleic acids research 33.6 (2005): e65-e65.

だから、リボゾームRNAではないRNAを探したら、ウイルスがきれいに出てきたのです。ウイルスに感染した細胞から、家畜の遺伝子ではないRNAを選び出したのですが、結果的にウイルスの断片が増幅されています。つまり、ウイルスを探すのではなく家畜の遺伝子以外を探したらウイルスを取ることができた、のです。

Endoh, Daiji, et al. "Species-independent detection of RNA virus by representational difference analysis using non-ribosomal hexanucleotides for reverse transcription." Nucleic acids research 33.6 (2005): e65-e65.


もし、この技術をもっと工夫して、動物のゲノムに使うことができれば....

これまでに知られていないけれども、もしかしから危険なウイルスを探す」ことができるかもしれません。

ちょうど、それに使えそうな技術も開発しているので、これから挑戦してみようと思います。

キーワードは 「DNAはコンピュータだ」「たくさんの文字から見えない特徴を探す」と「人工知能」です。

2022年12月25日日曜日

ゲノムデータベースから隠れたウイルスを探し出す

 Bovo, Samuele, et al. "Mining livestock genome datasets for an unconventional characterization of animal DNA viromes." Genomics 114.2 (2022): 110312.

https://www.sciencedirect.com/science/article/pii/S088875432200057X

次世代シーケンサーでは、ゲノムを小さなフラグメントに分けて塩基配列を決定します(https://www.cosmobio.co.jp/support/technology/a/next-generation-sequencing-introduction-apb.asp)。ゲノム全体の塩基配列は、100塩基程度のこのフラグメントの塩基配列(Read)を連結することで予測されます(https://genebay.co.jp/de-novo/)。連結されて作成されたゲノム配列からは、これらの動物の遺伝的な疾病や祖先などの情報が得られます。家畜の研究では、研究者は疾病に関連する遺伝子を探すために多数の全ゲノム解析を続けています。研究者は、疾病を決定づける証拠として、ReadデータをWGSという名称で残し、それをGenBankなどの公共データベースでストックして全世界の研究者が利用できるようにしています。

そのため、家畜の疾病遺伝子の研究は、WGSを参照して新たな「遺伝子と疾病の関係」が探索されます。結果的に、WGSデータベースには大量のデータが蓄積されています。Samuele Bovoらのグループは、その大量のWGSから、家畜のゲノムを調べている際に紛れ込んだウイルスの情報を探し出しました。彼らは牛、豚、鶏および兎の1471 のWGSデータセット から367 種類の ウイルスを探し出しました。それらのほとんどは家畜に対して無害であるウイルスでしたが、いくつかは家畜および人間に流行する可能性のある危険なウイルスでした。

このような研究は、家畜のゲノムを調べるWGSから落ち穂拾いのように病原体の情報を集める研究ですが、家畜の病原体全体を知る上で、有効で重要なアプローチになることが示唆されます。

ただ、現時点では、Samuele Bovoらはこれまでに病原体として知られているウイルスしかWGSの中から発見することができません。いつか、人工知能的にウイルス配列を調べることができたら、WGSから新種のウイルスが発見されるかもしれません。

2018年9月9日日曜日

獣医系の教員でバイオインフォマティクスと人工知能を勉強中です。
研究の中で、コンピューティングの割合を高めてきました。もうすぐ大学を退職するので、自宅でもできるコンピューティングを使った仮想研究室を始めたいと考えています。
自分が使っているプログラムについてお知らせすることと、バイオインフォマティクスを使って生まれた新しい発見を紹介してきたいと思います。