機械学習を知らない人達はAIをどのようなものと捉えているのだろうか?

最近ずっと上向けに自分たちの取り組み(AIの取り組みとみなされている)に関するプレゼン資料を作っていました。

自分たちは周りも含めてAIなんて言葉は使わずに、Deep Learning(CNN, RNN)やML(SVM, RF)という言葉を使うのが普通なので最初、DL≒AIってことにしてプレゼン資料作ればいいじゃんというノリで作り始めて、大分完成したところでなんか違うなと…

DLとAIが混在していて分かりにくいわ

多分AIにもっと漠然としたニュアンスがあるんだろうなと。ちょうどいいタイミングで週明けに虫垂炎で安静にしなきゃいけない機会に恵まれたので、AIってなんだろうなということをずっと考えていました。

で、思い出したのが何回か前のrebuildでAIをジェネラルなものとドメインスペシフィックの2つに区別して喋っていたことで、もしかして、彼らはドメインスペシフィックなソルバーをAIって呼んでいるんじゃないかなと。実際、(機械学習を知らない人)のAIに言及しているスライド見直してみると「AIで解決」とか「AIの有効活用」などと書いてあるし。

というわけで、

AI : Deep LearningやReinforced Learningなどの機械学習の技術を利用したソルバーで人間に近いまたは超える精度を叩き出すものの総称

と定義すれば、DLともぶつからないしスッキリするんじゃないかなーと。

と考えると「AIで解決するのか?」という答えに対しては「もちろんイエス☆」ということになりますね。だってトートロジーなんだもん。「解決するものがAI」なんだもんねw

これは多少皮肉を込めた言い方になったけど、好意的に捉えれば、プログラミング的には抽象クラスのようなものを指していると考えることもできるのかなと思う。

こう捉えると「AIで解決」とか「AIの有効活用」と主張するのはそれほど間違ってないように思う。具象化どうするの?どう実装するの?という議論に進めばいいだけだし。

つまり、そのAIって書いてあるところ、どういう技術を使ってそのドメインスペシフィックな問題を解決するのか?という点に論点を移せばいいだけですね。

まぁ、それが難しいんだけどね。だから、お手軽になんでも解決みたいな印象を持たれてほしくないかなと強く思う。

ProductName AI創薬・ビッグデータ創薬
田中 博
薬事日報社 / 2160円 ( 2017-06-23 )


ビッグデータに関しては、もうずっと前から言われてるけどデータ集めるだけではイノベーションなんて起きないじゃんと思っていて、ビッグデータ創薬なんてだめなんじゃないの臨床以外では?と感じるんだけど、私はそのあたり調査が足りてないので、土曜日の読書会でなんか意見をもらえると嬉しいなと明日にはエントリにまとめてみる予定。

にほんしゅ屋とカレー

にほん酒や

風の森だけど、酒米は初めて聞く名前

1513032504 1513032506

白子が美味しかった

1513032508 1513032510

十字旭と香箱ガニ。香箱ガニの美味しさに目覚めた

1513032512 1513032515

アボカドの味噌漬け。今度自分でも作ってみる予定。

1513032517 1513032519

近所にできたという、インド料理屋に行ってみたら、ビリヤニがあったので迷わず注文。 美味しかったのでまた行くか、今度は違うものを注文してみたい

1513032521

三島haskell無名関数の会に参加しました

Haskell好きが集まってHakellに関してワイワイガヤガヤするという三島haskell無名関数の会が4年ぶりに開催されたので参加してきました。

ていうか、@karky7と二人だけだけだったw。

karky7に会うのは2年ぶりくらい?会場はリパブリュー

java とかscalaの話から入って、Goどうなんかな?みたいな

1512873372

ポテトにアンチョビをまぶしたのをつまみつつ、型システムと遅延評価、Hakyllいいよねっていう

1512873374

ラムチョップ美味いですね。からの麺や七彩おすすめという話と銀座のラーメン屋制覇しつつ、 pythonでrangeで添字付けながらループ回すのC++の影響なの?ww

1512873378

リュウゼツランのビールからなんで製薬会社は論文出すの?秘密にしないの?に対してGitHubにコードあげないと優秀なひと来ないでしょ? ソフトウェア開発会社は?みたいに返してなるほどされた話とか。

1512873380

うしとらモザイクマッドネスから、SBDDとかLBDDのしごとって何なの?とかあとマッドネスなネタをはさみつつ。karky7はユーチューバーになりたいヒトなんですか?とか

今元気が出るテレビの画像抽出を(haskellで?)やっている話とか、

「あーそう言えば僕のgmailアドレスは」

「あー知ってる知ってる、あれでしょ、山田太郎、メロリンキュー」

とバレていたりとかw

1512873382

リパブリューの5作目を飲みつつ、子供にプログラミング教育でスクラッチは甘えじゃないのか、だまってCとか 教えろやっていう話とか。

1512873384

ムール貝から、来年は伊東の浜でBBQやりつつ勉強会するかという話と、おもむろにカウンターでGentoo起動させ始めてyesodに関してのアツいスライドが。

1512873387 1512873389

モーモースタウト飲みながら、ワンコ愛について語る感じで

1512873391

尚、ビールは全てパイントですw結局5時間しゃべりっぱなしだったというw とても楽しかったので、Haskellなどの関数型言語に興味がある方は次回参加されるといいと思います。Python,Java,C,C++,Scalaといった言語全般に関しても語り合えると思います。Gentooに関してはkarky7に任せますw

How important is reinforcement learning among machine learning techniques?

強化学習って自分の仕事にはあまり関係ないかな?と思ってあまり重要視してなかったんだけど、ChemTSではMCTS使っているし他にも強化学習組み合わせたものを使うことが増えたので、転職祝いに頂いたこの本をもう一度きちんと読んでいる。

ProductName これからの強化学習
牧野 貴樹
森北出版 / 4536円 ( 2016-10-27 )


一章を何度も読み返して数式の意味をきちんと理解するだけで、結構応用が効きそう。これで論文読むのちょっと楽になったかな?二章はいきなり先端研究事例が出てきてハードルが上がるので流し読みにとどめて、3,4章の事例を読むのが良いかと思います。

「十分なデータを持っておらず、データの収集にコストがかかる世界において、データをどのように収集するか」が強化学習である、とみることもできる。その意味で、強化学習はいわゆるビッグデータと呼ばれるような、データが与えられることが前提とされる他の機械学習とは本質的には異なる問題に取り組んでいる (まえがきより)

AIの定義も曖昧で困るんだけど、ビッグデータもまたその定義が曖昧なものかと思っていて、データ数足りない場合には強化学習を利用してデータを獲得していく必要がでてくる場面も増えてくると思うんだよね。

それにしてもAIとかビッグデータとかいうバズワード嫌いやわ。

         ,. -'''''""¨¨¨ヽ
         (.___,,,... -ァァフ|          あ…ありのまま 今 起こった事を話すぜ!
          |i i|    }! }} //|
         |l、{   j} /,,ィ//|       『おれはビッグデータを使っていたと
        i|:!ヾ、_ノ/ u {:}//ヘ              思ったらスモールサイズだった』
        |リ u' }  ,ノ _,!V,|
       /´fト、_{{,'eラ , タ人      な… 何を言ってるのか わからねーと思うが
     /'   ヾ|| {´,)⌒`/ |<ヽトiゝ       おれも何をされたのかわからなかった…
    ,゙  / )iLレ  u' | | ヾlトハ〉
     |_/  ハ !ニ⊇ '/:}  V:::::ヽ        頭がどうにかなりそうだった…
    // 二二二7'T'' /u' __ /:::::::/`ヽ
   /'´r -―一ァ‐゙T´ '"´ /::::-‐  \     催眠術だとか超スピードだとか
   / //   广¨´  /'   /:::::/´ ̄`ヽ ⌒ヽ  そんなチャチなもんじゃあ 断じてねえ
  ノ ' /  ノ:::::`ー-___:::::/       ヽ  }
_/`丶 /:::::::::::::::::::::::::: ̄`ー-{:::...      もっと恐ろしいものの片鱗を味わったぜ…

From Promiscuity Degree (PD) to Target Family Degree (TFD) and Selectivity Degree (SD)

前回のPDの続きを楽しんでいた。

Considering similarity with Promiscuity Degree

やりたいことはPDで単にActivity Cliffをカウントしているだけのところをターゲットファミリーの重複を除けばターゲットの依存性が解消できるだろうということ。

試したこと

最初にChEMBLのターゲット分類項目を使おうとしたがオントロジーのせいなのかまとめられないものが多くて上手くいかなかった。

続いてsimilarity matrixを地道に計算する方向を試してみた。これはbiopythonのpairwise2を使ったら遅すぎたのでclustalomegaを呼び出すことにした。マトリックスが出来たらMDSで二次元にマップしてからAffinityPropagationを使ってクラスタ分類させる方向でやってみた。 これで適当なクラスター数に分けることは出来たのだが、散布図を眺めていると、どうも思ったように集団を形成しておらず結果としてはあまり上手くいったとはいえない感じだった。

考察

similarity matrixが上手く作れていなかったのが分類が上手くいかなかった大きな要因であるが、これはglobal similarityを計算したのが問題だった。多分ドメイン等の類似性が重要なのでlocal alignmentをするべきだった。つまりblastのp値とかE値を距離として使えばよかったように思う。または局所相同性かな。

当初、Xmeansでクラス推定する予定だったが距離行列をインプットに取れなかったのでMDS+APという方法をとったけど、このクラスター推定ももう少し上手い方法がありそうかなと思う。

Selectivity Degree

SBDD的に興味が有るのはファミリー間の選択性を発揮する小さな構造変化であり、PDの増減するかつTFDが変化しないものであろう。そのようなクリフがデータベースから検索できると面白いかなと思う。こういうものをSelectivity Degreeとでも呼べばいいと思う。

FBDD with ChemTS

MCTSとRNNを組み合わせた手法であるChemTSソースコードを眺めていて、

お、これFragmentのgrowingに使えるじゃん!

と気づいたので早速フォークしていじり始めた。

初期値としてフラグメントのSMILESを与えたい、かつRNNの流儀に会うように成長点が文字列の最後に来るようにしたいんだが、以前教わったSMILES Enumerationコードを流用すればいけそう

OMEGAがあれば部分構造を基にしたコンフォメーション生成やってくれるから、その後のドッキングスタディ楽なんだろうけど、持ってないからなー。

それから評価関数ドッキングスコアにするのはどうなのかな?アレの精度あまり良くないからなんか考える必要はありそうだ。PLIFとかのほうが潔くて良い気もするが。

ちょっと前に出てたFBDDのレビューを見ていてもLEを保ったままLeadに持っていくのが重要そうだったからエンタルピックな効果をもたせるほうが重要だったらパッキングよりも水素結合重視したほうがいいかなとは思う。

変なスコアで優劣つけるくらいなら水素結合とか期待できる構造がよく提案されるようにしたほうがよいかもしれん。

このあたりは今後要検討する必要はある。

Dive into promiscuity cliffs

先週promiscuity cliffsというSBDDerにはちょっと受け入れがたい概念があることを知りまして、帰りの新幹線の中で検索してたらopen accessの論文を見つけた。

Identification and analysis of promiscuity cliffs formed by bioactive compounds and experimental implications

SIにデータがあったのでligand expoのデータを使って検索してみた。

結果はGithubにあげておきました。

Dive into promistuity cliffs

全部で20複合体くらいヒットしたので丁寧に観察してからめぼしいものをFMO計算でもかければいいんじゃないかなと思っている。

論文読んで作業していてちょっと思ったのは

  • cliffの方向わからんと困るつまり活性が大きく上がったのがそれとも下がったのかの方向が必要だなと
  • 例えばシビアな認識するATPポケットみたいなものだったらちょっと構造変わったら軒並み活性減弱とかだと面白くない
  • PAINSフィルターに引っかからないアーティファクトも混じっている可能性は否定できないな

あたり。今回サイエンス的な興味と論文がオープンアクセスだったので、試した結果もオープンにしてみたけど、DIYでできるようなFMOクラスターとかDeepLearning用のGPU計算機とか欲しくなるわ。

奈良なのに吹田とはこれ如何に?

久々に奈良に行ってきました。ケモインフォとかQSARの学会ってほとんど出たことがないんだけど、今回初めて参加したら非常に刺激を受けました。あとは研究室(量子化学)出身者が4人もいてちょっとびっくりしたけど、目指すところがそれぞれ違うので非常に参考になった。

ラーメンでもと思ったら全部休みだったのでうどん屋さんに入ってみたが美味しかった。

1510826788 1510826790

前回のメモがあったので酒屋はすぐに発見。またも山間ですw

1510826793

朝からアクティブ。紅葉が綺麗だった。

1510826795 1510826797

興福寺に寄って阿修羅像をみてから奈良公園の鹿とたわむれ(ない)

1510826800 1510826802

朝も昼もおかゆを食べて春日大社にお参り。「ディープラーニングでイケてる表現学習」思いつきますようにってお願いしておいたw

1510826805 1510826807

もちろんジムにピンクの肥満を置くのも忘れずに。

1510826810 1510826812

閃く鹿

1510826815

せんとくん

1510826818

お昼に麺闘庵に行ったら30人以上並んでいたのでスルーしてカレー。ここは美味しかった。

1510826823 1510826820

まんとくんはベタだったw

1510826826

Activity-Cliffなんて名付けること自体がQSARerにとって甘え

QSAR

似ている化合物は似た活性を示すだろうという仮説

Activity-Cliff

似ている化合物なのに活性に大きく乖離があるという事実

さてここで、

  • 似ている化合物は似た活性を示すという仮説が間違っているのだろうか?
  • 似ているという尺度の定義の仕方に問題があるのだろうか?

後者ですね。

このあたりちゃんと理解しておかないとLOでQSAR使いにくいですよね。 特にインフォ系の化合物の抽象表現として文字列弄っているヒトはケミストリー的な思考をしているわけではないので気をつけたほうがいいかなぁ~と思いました。

富士ラーメンフェスタに行ってみた

富士ラーメンフェスタの二回目があるというのを前日に知り、チラシを眺めていたら「みのまる」が出ていたので行ってみることにした。

尚、「みのまる」に関してはググればよいかと。

みのまると弥栄

1510460538 1510460540

サイダーかんというキラキラ系ジュース

1510460543

行列できていたのは北海道ラーメンの店だけであとはまったりしていた。行列だったら凹むなと思っていたので行ってよかったかな。

1510460547

ラーメンも美味しかった。