Skip to content

Rubyを使ってDICOM画像で遊んでみる

25-5月-17

RubyでDICOM画像を扱う情報がほとんどないので少しずつメモしてみる。

ruby-dicomhttps://github.com/dicom/ruby-dicom

インストール

DICOM画像を読み込む

メタデータを取り出す

画像データを取り出す

IRuby Notebook上にDICOM画像を表示する

imageメソッドで、ImageMagickオブジェクトに変換できる。
内部ではrmagickもしくはmini_magickが動いている。
rmagickは更新が滞っているので、mini_magickがおすすめ。


※画像はDSB2017に使用されたsampleの1つです

Kaggleの肺癌検出コンテストで医用画像のAI活用は大きく広がるのでは

23-5月-17

 気が付かないうちに、Kaggleが胸部CTの肺癌検出のコンテストを開催しとった。完全にフォロー不足で、今日発見して目が点になった。これ、ググっても日本じゃあんまり反響ないみたいだけど、ものすごいことだぞ……。どのぐらい凄いかっていうと、これからの医療にとってガラケーしかなかった世界にiPhoneが発表されるぐらいの衝撃になるんじゃないか。IT業界の反応が薄いのは仕方ないとして、ググっても日本の医療クラスタから反応が全然なくてびびる。まさか重要性に気がついていないのか。。そんなわけないよね。それでもgoogle検索でひっかかるのは中国語のサイトばかり。日本の医療は本当に大丈夫かいな。。これあとでしっかり調べないと。

追記①

 kaggleの何が凄いかというと、個人情報の塊である医用画像を大量に使用してコンペティションを開催したことだ。どうやってそんなことができるのかちょっと想像がつかない。けれども、Data Science Bowlのスポンサーをみると、このコンペティションは以前から周到に準備されたものだと思われる。まず、主催はKaggle(Googleによって買収)と、ブーズ・アレン・ハミルトンというコンサルティング会社である。ブーズ・アレン・ハミルトンは日本語Wikipediaによると米政府のコンサルティングに特化しているという。協賛企業をみると、Amazonの名前もあるし、NVIDIAの名前もある。アメリカ合衆国福祉省、アメリカ食品医薬品局の名前も入っている。かなり公共性の強い企画だということが感じられる。
 医療関係からは、アメリカ放射線医学会やアメリカ国立がんセンター、デンマークや、オランダの大学病院の名前がみつかる。Data Support Providers の一番上には、National Lung Screening Trial というものがある。これが今回提供されたデータの中心になっているのだろうか。2002年から2009年頃に行われた治験である。

 興味深いことに、呼吸器学会の名前は見当たらない。このことは何かを物語っている気がする。

 もしも、日本で同じことをやろうと思うなら、AmazonやNVIDIAの他に、ソフトバンク、PFN、さくらインターネット、東芝メディカルなど協賛を取り付け、放射線医学会、国立がんセンターの協力を得て、いくつかの大病院の協力ももらい、できれば台湾などの海外の病院にも協力してもらう。もちろん厚生労働省のお墨付きももらって、有力な財団の協賛ももらう。
 そして多くの患者に、治験で撮影した自分のデータをインターネット上に公開して利用することについてサインする必要がある。はっきり言ってこれはかなり難しいと思う。まず、大病院などの組織や、学会には柔軟な行動は全く期待できない。次に、個人情報を開示する時点で世間の大変な反発が予想される。まして企業が莫大な懸賞金を用意するという話になると、もう大反発が巻き起こるだろう。その気持ちは、私も日本人なのでわからなくもない。しかし、どうも個々人の利益や安心感を守りすぎるあまりに、長期的な公共の利益や、自分以外の人の利益、技術の発展に対して、冷やかというか、無関心すぎるのではないかという気がする。人の気持ちを考えろって、確かに目の前の人の気持ちは大事だけど、10年後、20年後の未来の日本やアジアで同じ病気になる人の命についてどう考えているのだろうか?目の前の人がよければ、未来の人たちのことはどうでもよいのだろうか?そんなことはないと思う。

 Kaggleがこんなおっかないコンテストを実施できるのも、ちゃんと真剣に医療やアメリカの未来のことを考えているからだと思う。

 もっと勇気をだして医療情報を公のために公表してほしいと思うけど、なかなかそうはならないだろう。あるいは、アメリカでは日本のように医療費が安くないから、治験で医療情報をくれれば、費用を負担しますというな実効力のある仕組みになってるのかもしれない。少なくとも私は、自分が病気になった時はデータを公開したい。死んだらデータはいらないのでインターネット上に無償で公開して、無数の研究者がそれで研究してくれて、世のために役立つ方がずっといいに決まってる。そう思う人だって決して少なくはないはずだ。

 Gmailのようなクラウド方式で、IT企業が患者のデータを没収し、そのかわりに診断やら治療を提供するビジネスモデルってどうも感じ悪いのよね。無料(Free)って、データ押収しているんだから本当は自由でもないし無料でもないよ。

 でもそんなこと普通の人は気がつかない。気がついていても、便利だったらOKだって考えている人も多い。

 そうやってデータを吸収して世界中から優秀な若者をおびき寄せるGoogleの作戦はいつも成功しているから、医療の世界でもそれがうまくいってしまう可能性はあると思う。

追記②
 社会的な凄さについて書いたが、技術的に凄いと思うのは、DICOMデータに対して機械学習を行うという事に関するコードがGithubに多数公開されたこと。
 これで医用画像の機械学習に必要なツールや方法論が大きく改善されたはずだ。多くのデータサイエンティストがDICOM画像を生まれて初めて扱ったことだろう。
 医療側からみると、その気があればデータサイエンティストが作って公開している成果を、その場で日常臨床に試すこともできる環境が整いつつあるということを意味する。
 医用画像のAI認識をめぐる環境はこの1年で激変するのではないかという気がする。できれば、独自路線で頑張るよりも、できるだけ世界の潮流に参加して合わせていった方が大きなメリットがあるような気がする。

追記③
 LUNA16というプロジェクトが前身になっており、Grand Challenges in Biomedical Image Analysisという団体が地道な活動をしている。Kaggleのコンテストは突然発生したのではなく、もっと小規模なコンペティションの積み重ねの中から生まれてきたことがわかる。

hatena匿名ダイアリー「医者として働き始めて不思議なこと」の感想など

23-5月-17

http://anond.hatelabo.jp/20170507185312
そろそろ旬を過ぎたので書いてみる。もしも筆者がこのブログを見つけてくれたら少し嬉しい。
 まず思ったのは、同じ学年でも見えてる世界って、世代ごとに違うんだな〜っていうこと。

自分が経験した科が内科だからかもしれないが毎日パソコンを弄っているだけで患者が治っていくのである

 私はヤブで頭も悪かったので少しもそんなことを思わなかった。そもそも電子カルテ端末なんてなかった。電子カルテ端末がないって相当な大昔だと思うかもしれないが、たかだか数年前のことである。オーダリング端末 + 紙カルテという組み合わせは当時は割とメジャーだった。だから、今の研修医にとって、電子カルテ端末が存在するのは当たり前の環境だ、っていうのが何となく新鮮だった。

 そして君の書いてある内容は、多分正しい。でも、今から言うことを少しだけ心にとめておいてほしい。これから君はどんどん業界に馴染んで、常識を失っていく。そして、勤務年数が上がると、色々な経験をして、それまで見えなかったことも見えるようになってくる。そして、かつての自分の想像力の範囲が狭かったように感じ始める。君はこの業界がどうなっているのか考え、悩み、行動し、いろいろな発見をして、少しずつ考えが固まっていく。そんな様子が、私にはなんとなく想像できる。それは本人にとって「進歩」のように感じられる。

 でも、本当にそれは進歩なのだろうか?

 私が初期研修した時も、医療には変だと思えるところはたくさんあった。そしてそれは今でもあまり変わっていない。でも、だんだんと周囲の景色が見えてくると、どうして医療がそういう奇妙な仕組みになっているのか、少しずつ納得できる理由を見つけられるようになって、不思議であると感じるべきところが、当然に見えはじめ、どんどん当たり前に感じられるようになる。慣れてしまうのである。本人は、昔よりも物事がよく見通せるようになったと自負しているけれども、必ずしもそうとは限らないと思う。

 部外者の方が、案外正しい目で物事を観察しているものだと思う。

 だから一読して「本当はね、もっと深いメカニズムがあって、実際にはこうなってるんだと私は思う」と言いたい気持ちになった。
 なったけれども、あえて言わないことにする。というのは、自分が研修の時におかしいと思ったことは、今でもおかしかったと思っているからだ。だから、何となく自分の方が正しいと思っていることも、優秀に違いない新人研修医の意見を前にすると、本当は若者の意見の方が実は正しいんじゃないかという気がして、今ひとつ自分の意見に自信が持てなくなる。見栄っ張りで、馬鹿を晒したくない気持ちが強いのである。

「どうして医療の世界がこんな不思議なことになっているのか、一つ一つ理由を見つけてみたいのです。」
「だが、それがわかるようになった頃には君は手遅れになっているかもしれないぞ。」
研修の時に飲み会で、ある先輩と交わした言葉だが、数年経った今ではその言葉の意味が少しだけわかる気がする。

だから今君が感じている違和感はものすごく貴重とだけは言っておく。

『人工知能はどのようにして 「名人」を超えたのか?』を読んだ

21-5月-17

読んだ。期待していたよりもずっと面白かった。

黒魔術から逃げた先には、もっと大きな黒魔術が広がっているかも

一番面白かったのはこの部分、ポナンザが黒魔術化しているというところ。

 現在のポナンザの改良方法は、何らかの新しい改良を考えたら、それを適用したポナンザと以前のバージョンのポナンザを3000試合ほど自動で対戦させるというものです。このとき、新しいポナンザの勝率が52%以上の場合は新しい改良が採用されるという方針をとっています。
 私が3000試合の将棋の内容を個別に見ることはなく統計処理をして計測しています。正確には、将棋の内容を吟味しようにも対極の勝因や敗因がわからないので、吟味できません。すでにポナンザの棋力は、私のレベルをはるかに上回っているからです。
 しかも、「改良した作業」とポナンザが「強くなったこと」が、将棋プレイヤーとしての感覚からは大きく乖離していて、理詰めではその差を縮めることができません。うまくいった改良がどこでどう有効に働いたのか、全然わからないのです。
 加えてこういった改良の成功率は、今までの経験則によると2%以下です。何らかの改良をしても、強くなることが確認できるのは100回に2回もないということですね。
 そんなわけで、現在のポナンザの改良作業は、真っ暗闇のなか、勘を頼りに作業しているのとほとんど変わりがありません。

 ついつい、コンピューター将棋というと、科学・数理に基づいて行われている印象を抱きますが、そうじゃなかったんですね。ポナンザの改良が、このように黒魔術的に行われているというのは、とても面白かった。

 医療の世界もまた、黒魔術が支配する世界と言えるかもしれない。将棋では、盤面の情報はオープンにされ、全ての駒の動きが解明されている。それに比べて人体のメカニズムは複雑で解明されていないところが多く、客観的に現状を計測・把握することから困難です。
 人体のメカニズムを解明して、新しい治療を開発するという還元主義的な発想は昨今あまり流行りません。なぜならば目標が高すぎて実現が難しいからだと思います。それよりも、治療のターゲットとなる標的を発見したり、新し検査方法を考えたり、治療に工夫を加えたりといった、もっとずっと低いレベルで頑張る人が多い気がします。それも十分難しいことだけれども。
 将棋で例えるならば、手持ちの駒を発見したり、桂馬の動き方を解き明かしたり、隠れているマスを透視する方法を考案したりといった感じでしょうか。ある意味とても原始的です。

 人体を構成するさまざまな要素の動きをとらえ、正確に予想して、ベストな介入をする。そんな将棋では当たり前のような手法が医療では夢物語に思えます。そのぐらい医療というテクノロジーは、将棋よりも原始的な段階にとどまっている。そのように私には思えます。

 新しい治療方法の候補が見つかると、多数の症例が集められて、従来の治療と新規治療を比較する臨床試験・治験が行われます。そして新しい治療方法に本当に効果があったかどうかが判定される。

 このときに、ポナンザの黒魔術と同じ問題が発生します。つまり「なぜ治療が効いたのか」という点について臨床試験や治験では全くわからない。だから、ロジックも大事だと言われます。言われますが実際には目の前の患者を治療するのにロジックは全然役に立たないですよ。そのため医療では、ロジックよりも常に黒魔術が優先されていると思います。しかし、黒魔術というと格好が悪いので、一部の人はこれをエビデンスと上品に表現します。「医療は科学ではない」のです。

 (私は、現代の医療を支える多くの医薬品とそのエビデンスは、人間の文明活動によって急速に変化する現代環境に対して、遺伝子の最適化調節が追いついていない部分に、早期にパッチを当てて現代環境に最適化するように調節していると考えています。つまり本当の意味で「治療」しているわけではない。そう思った方が気が楽です。健康と病気の境界は単体で存在するわけではなく、社会環境に大きく依存すると思います。しかし、こういった考え方は精神科はともかく、身体科ではあまり一般的ではないと思います。)

 黒魔術では心がすっきりしません。医療に人工知能を導入することで「黒魔術を減らしたい」と願ってる人は少なくないと思います。将棋で例えると、「なぜその手が良いのか、コンピューターに説明してもらいたい」といった気持ちでしょうか。説明できなくても、評価値ぐらいは示してほしい、そういう期待がどこかにあります。

 ところが、人工知能ポナンザの開発も、やはり臨床医学の現場と同じように黒魔術的に行われていることがわかりました。そうなると、人工知能の導入は医療の黒魔術を減らすどころか、ますます黒魔術化を促進するかもしれない。本文中にはアルファ碁の棋譜を多くの棋士が理解しないまま真似するという描写があります。コンピュータの医療への応用は、結局は黒魔術要素をかえって増やすかもしれない。

 これは、かなりモヤっとする未来予想図ですね。しかし案外未来とはそんなものかも知れません。

もう一度人工知能で医療がどう変わるか考えてみる…医療は機械に置き換わらないという直感は間違っているかも

 すべての人にとって、業務の本質を理解するということは、とても難しいことです。その上で、私の想像の及ぶ範囲で医療という業務を表現すると、治療の実施による生活上のメリットという観点に基づき、患者の感情と社会基盤を考慮て、検査の必要性などについて適切な重み付けを行い、検索における枝刈りをして選択肢を減らし、実効力のある介入を行うことだと思います。さらに言えば、数年の延命することにより本人が亡くなるという事実を本人と家族が受け入れる時間を作って、人々の行きどころのない怒りの感情を可能な範囲で受け止めコントロールし、苦痛を取り除くように試みる。これが、古代から現代までの病院の仕事だと思います。

 炎上を恐れずに書くと、例えばウェルクの半分の知識しかなくても、ウェルクのように不必要な炎上をさせず、限られた手段と情報を見極めて現実的によいアウトカムに導くこと、それを可能にする無数の黒魔術的なバッドノウハウの集積が医療の仕事ではないでしょうか。昔の病院は、現代からみると恐ろしく低水準の知識と設備で驚くほどの成果をあげ、地域に貢献していたわけです。今の病院も後世から見れば似たようなものでしょう。つまり医療の本質とは医学知識や技術とはすこし離れたところにあると私は思っています。

 これは、純粋なテクノロジーの側面(知識や技術を高めることで問題解決)よりも政治的判断や感情処理、リソースの適切な振り分け、身体的知性などのウェイトが大きいので、どんなにコンピュータによる診療技術・治療技術が進歩しても、人間による医療がコンピュータに置き換わることにつながらないと、内心私は思っていました。

 レントゲン写真の診断、CTの診断、組織診断、血液検査の判断力、治療の選択、手術の技術、神の手…そういう領域でコンピューターの能力が人間を超えるのは時間の問題だと思います。しかし、そういった技能は、エンジニアや他職種の方が思っているほど、医療の本質に近くない、というのが私の考えです。

 診断に関しては、人体から得られたさまざまな情報を2次元の画像や文字列に変換するテクノロジーが医療現場では日常的に多数使用されています。それらは「検査」と呼ばれ、多くの人々はそれを人工知能であるとは全く捉えていません。
 しかし、私は生データを人間が直接処理するのではなく、一度機械にかけて人間が解釈しやすいような2次元画像に変換してアウトプットするような機構は、広義の人工知能に該当すると考えます。極論を言えば聴診器や血液検査のような検査も、人工知能に該当すると私は思います。線形的に音波を増強して特定の波長を非線形にカットするという聴診器の特性は、パーセプトロンの仕組みとよく似ています。

 そうだとすると、医療の世界には現時点でも「人工知能」に満ちあふれていることになります。そのような「人工知能」と、ディープラーニングを使用した人工知能による診断支援に本質的な差があるかというと、今のところ、個人的には「ない」と考えています。

 つまり、人工知能が診断力や治療力で人間を上回るようになっても、それをいずれ医療という巨大なシステムは旧来の技術と同じように吸収してしまうだろうと。つまり人工知能で医療は変わらないという予想です。今現在でも人間の能力を大きく超えているようなシステムはたくさんあるのです。そこにDeep Learningが加わっても大勢に変化はないだろうとも思います。

 これまでは、医療を構成する部品として人工知能を使う話でした。しかし、さらに言えば、見えない医療のフレームワークのようなものがあって、私達人間の医療人は、そのフレームワークから呼び出されているという風に感じることが多々あります。私達がシステムを使っているのではなく、システムが私達を呼びだして使っているという感覚…組織の歯車というやつですね。組織に属する人間なら誰もが感じるものだと思います。
 もちろんこの場合の人工知能は、個人や人間の小集団をパーツとして校正された病院や医学といったシステム、ということになるのでしょうけどね。そのシステムの一部が人工知能に置き換わっても、案外そこで生きている人の感想は現状と変わらないかもしれない。

 だからコンピュータが人間の医師の能力を凌駕する話を聞いても「そうでしょうね。私もそう思います。むしろそうなった方が医療の質は向上するでしょう。(もし現場が楽になるなら早くそうなってほしいなあ……)」というぐらいの気分でいました。つい先月までは。

 でも、最近は実はそれも甘いんじゃないかと思うようになりました。まだ捉えきれていないところがあるんじゃないかと。つまり、感情的なインターフェースで政治的判断を行うような領域にも、何らかの方法で機械が進出してくる余地があるのではないかと。そんなことを思い始めました。医療の業務の本質がエンジニアには見えていないからといって、それだけでは機械化が進まない理由にはなりません。それどころか返って盲点になっているのかも知れないのです。もしもエンジニアが本当に(医学ではなく)医療のことをよく理解して、そこにフォーカスしたら何が起こるのか。。
 ひょっとすると当初思っていたよりも人工知能の応用領域は広くて、全然想像していないところで人工知能の普及の余地があるのではないかないかと。そういった可能性については、想像の域を超えないような気がして、あまり真剣に考えていなかったのですが、少し検討してみる必要があるかも知れないと思いました。といっても、出来ることはのんびりと考えることぐらいだけどね。。

 手術など、手技を治療に対する人工知能の応用については、よくわかりません。ただ、ひとつ思うのは、治療用の人工知能は、対象だけではなく、自分自身について知る…モニタリングすることが必要だろうなと漠然とそう思います。まとまらない結論になってしまいました。

人工知能はどのようにして 「名人」を超えたのか?―――最強の将棋AIポナンザの開発者が教える機械学習・深層学習・強化学習の本質

今日の落書き Ruby の PyCall で Keras の Mnist 画像部類

03-5月-17

RubyでPythonっぽいコードを書くと、RubyでPythonが実行できるというPyCallというGemがあります。
このPyCallでDeep Learning用のライブラリであるKerasが動かせるということなので、やってみました。

こちらのサイトを参考にしました。
PyCallを使えばRubyでもKerasでDeep Learningができる(洋食の日記)

短いコードですが、半年ぐらいプログラミングに触れていなかったのでかなり時間がかかりました。

工夫したところ

・RubyからPython呼んでいる時点で無駄が多いことをしている。だから何も気にせずに、ライブラリを贅沢に使おうと思った。
・MnsitをRubyの配列で呼ぶためだけにruby_brainを使用した。
・255で割るためだけにNumo/NArrayを使用した。
・結果として、mnistの元ファイル ⇢ Ruby配列 ⇢ NArray配列 ⇢ テキストファイル ⇢ numpy配列 という情報の変換、受け渡しにとても時間がかかっている。
 (・しかし、これは、PCを使わない人工知能にも広く見られる現象だ)
・ハマったのは、Kerasでmnist読み込む時と、ruby_brainでnnist呼びこむ時のデータ形式の違い。

よかったところ

・うごく!
・Rubyでディープラーニングする手段がある。0と1では大違い。

不満が残るところ

・PyCallでKerasを実行している最中に Ctrl+C でターミナルを停止できない
・エラーメッセージがもっと改行してくれると嬉しい
・やはり Ruby ←→ Pyrhon の情報のやりとりに不自由を感じる
 ・Rubyで前処理して一度ファイルに保存、Pythonで処理するのが現実的かもしれない

ASUS ZenBook に Keras を入れるまで

29-4月-17

常用していた中古のノートパソコンをMacbookに買い換えました。周囲のMac使用率が50%に近づいている現在、Macを購入する最大のメリットは、周囲とのコミュニケーションの心理的な促進作用だと思います。Macには人と人とのつながり、コミュニケーションを誘発する作用があります。そこにはスペックだけ見ているとわからない、お金にできない、大きな価値があります。それに、Macを使っていると気分がいいです。Macについて語るとき、みんな笑顔になります。洗練されたGUIとシンプルなソフトウェアに囲まれて作業していると、落ち着いた気持ちになります。そう、間違いなくMacを選択するメリットは大きいのです。そうだMacbook Proを購入しよう。2年ぶりにUbuntuからMacに戻ろう。鼓動の高なりを感じながら、僕は家を出た。


そして、ASUSとともに帰宅。


Intelのシールの右に、緑色のNVIDIAのシールが張られている。GeForce 940MX搭載である。つまりCudaが使える。それからMacは高い。そりゃあなた、お金は大事ですよ。(しかし現行MacにGeForce搭載されていたら本当にMacbookを買っていたと思う)

以下困った時のためにKeras導入までの自分用メモ。

① まず購入して真っ先に、Intel等のシールをはがす。Macでは不要な作業。

② ブートUSBの作成
UNetbootinではなくこちらを使用した。とくに不具合なし。Ubuntu 16.04
UbuntuのブートUSB作成 (usb-creator を使用)

③ 画面の解像度がおかしい
→ソフトウェアアップデートして再起動

④ Cuda8.0のインストール
第456回 Ubuntu 16.04 LTSでCUDA 8.0を使用する 2017年2月1日 柴田充也
→ こちらの情報が適確で初心者にもわかりやすいのでその通りにした
→ deb(network)を選択した
→ 自動的にnvidia-375がインストールされる。NVIDIAのサイトでsupported productにGeForce 940MXが含まれていることを確認
→ PATHの設定、LD_LIBRARY_PATHの設定
→ nvcc –version や echo $LD_LIBRARY_PATH で確認

⑤ nvidia-smiコマンドが見つからない
→ F2でBIOSの設定に入り secure boot をdisableに変更して起動

⑥ cuDNN のインストール
CUDA 8.0とcuDNN 5.1をUbuntu 16.04LTSにインストールする
→ こちらの通りにした。
→ cuDNN のバージョンは要注意

⑦ Anacondaの導入
公式サイトの通り

⑧ 新しい環境の作成:
conda create -n keras .anaconda python=3.5
→ 最新過ぎるとはまりやすいという感覚で何となく3.5に

⑧ tensorflowのインストール
公式サイトの通り(Ubuntu/Anaconda使用版)

⑨ pythonでtensorflowを読み込んだ時のエラー
ImportError: libcudnn.5: cannot open shared object file: No such file or directory
→ まずはLD_LIBRARY_PATHの設定を見直し → 改善せず
→ stackoverflowの中段の解決策が有効
→ そもそもディレクトリのなかにlibcudnn.5が存在しないので、シンボリックリンクを作成
→ ln -s libcudnn.so.6* libcudnn.so.5
→ import tensorflow as tf が動作することを確認

⑩ Keras のインストール
公式サイトの通り
pip install keras
→ 公式exampleのmnist(MLP)が動作することを確認
→ nvidia-smi で確かにCPUではなくGPUで動作していることの確認

細かい不具合あるかもしれないが、これで手元でKerasを勉強できる環境が整った。

今まで考えてきたことのコアをまとめてみる

23-4月-17

自分による自分のためのメモ
これは自分にとっての事実であって、他人にとっては事実ではない

・私達を包み込むCPU/GPUを使わない大きな人工知能があって、多くの人々はその歯車として生きている
 ・私達が人工知能を使うのではなく、人工知能のなかに私達が住んでいる
 ・人の中に知恵が蓄積されていると思い込んでいる人が多いが、実際には、人と人のコミュニケーションの結合に知恵が集積されている
 ・シンギュラリティはすでに何千も前に通り過ぎており、CPU/GPUによる人工知能も今までの進歩の延長にある

・機械化が可能な仕事は、実はほとんど機械化されている
 ・まだ機械化されていない仕事は、対人用インターフェイス(特に感情の把握)が必要なケース
 ・そして、この世で対人用感情インターフェースが必要になるケースは極めて多い
 ・人は能力が給与を規定するという考え方が好きだが事実に反する。給料は感情的労働の成果に比例しており技術や能力とは関係ない

・人間は視覚からの判定能力に優れているため、実社会で動いている多くの「人工知能」は、情報を視覚情報に加工するために用いられる
 ・しかし多くの人は、それらを人工知能であると認識しない
 ・単に情報を流すパイプのようなものだと思っている

・人間やシステムは思いのほか淘汰・チューニングされまくっている
 ・「問題とされるもの」は、その時代や社会環境との相互依存で生じる
 ・前の時代に最適化された集団・システムが、新しい外部環境で不具合を生じる
  ・皮肉なことに、新しい外部環境は、しばしば前の時代に最適化されたシステムそのものによってもたらされる
 ・「問題とされるもの」が単体で存在し、いつも正しく対処しなければならないという考え方は傲慢か過信である

というポエムを書くヒマがあったら野菜を食べて運動しようよ。

人工知能が人の能力を超えると仕事がなくなるという考え方は全くのまとはずれだと思う

20-4月-17

 なぜならば、世界のうち自分を取り除いた部分…つまり世界そのもの…は、現時点でもあらゆる面で私を遥かに凌ぐ能力を保有している。世界の持つ戦力と自分の腕力を比較すると、自分の非力さは恐ろしいほどだ。ほとんど1と0の関係である。明日から私がいなくなっても、残りの世界はそのことに気が付きさえしない。にもかかわらず、私には仕事があるし、大半の日本の組織は人手不足にあえいでいる。これは不合理である。
 人工知能やロボットが普及した暁には、世界のあちこちに、ますます、あらゆる点で人を遥かに凌ぐ能力が満ち溢れるだろう。賢い人々は、喉の乾いた人が砂漠の蜃気楼を求めるがごとく、新しい力で世界を満たしていこうと試みる。新しい力は時代によって違うけれども、今は人工知能だ。若くて賢い人ほど何かに取り憑かれたように、このような愚かで無意味な行動に走りたがる。不条理なことである。クリエイティブな仕事、創造的な仕事というのは画一的で退屈なものだ。皆で同じ方向に走っていくのだから。にもかかわらず、多くの馬鹿どもが、この退屈を楽しいと思い込もうと奮闘して、やがて死んでいく。そんなかわいそうな生き物である。君も、私も。

 人工知能たちもいずれ死ななければならないと思う。これは比喩的にもそうだし、実際にもそのようなものだと思う。死は最大のイノベーションであり、不完全なものであっても魔法のように完璧にする。人工知能に不死の可能性を望むのは、未熟な愛に似ている。完全無欠を望むあまり、完全なものを不完全にしてしまうのである。

 というポエムを書いているヒマがあったらKerasを勉強しようよ。

UbuntuでRuby2.4.1にTkをインストールする

05-4月-17

TkがRuby本体から分離されましたが、オプションは今までの通りでも大丈夫なようです。

gem install tk — –with-tcltkversion=8.6 \
–with-tcl-lib=/usr/lib/x86_64-linux-gnu \
–with-tk-lib=/usr/lib/x86_64-linux-gnu \
–with-tcl-include=/usr/include/tcl8.6 \
–with-tk-include=/usr/include/tcl8.6 \
–enable-pthread

星新一の『夢の都市』を思い出した

08-1月-17

星新一に『夢の都市』という近未来を舞台にしたショートショートがある。

 若き市長が理想の都市を作ろうとして、食品、物品輸送パイプラインなどを完備した完璧な都市をつくり上げる。しかし生まれてくる子供の発達がよすぎて身長が2倍になってしまい、結局のところ、一からあたらしく都市を作りなおさなければならなくなる話だ。

 最初に読んだ時は、荒唐無稽でひどくつまらない話だと思った。星新一のショートショートの中でも駄作である、と。けれども、昨年は機械学習や強化学習で少しだけ遊んでるうちに、健康や病気の区別はそれ単独で存在するわけではなく、社会環境の変化と、それほど急速には変化しない人間の相互作用の上で立ち現われてくるという視点を持つようになった。

 その上でこの話を読み返すと、とても示唆的だ。

 たとえば、「身長2倍」が荒唐無稽だとしても、「寿命2倍」ならどうだろうか。江戸時代の平均寿命は30-40歳。平均寿命が50歳を超えたのは1947年と言われている。今の日本人の平均寿命は83歳だ。つまり「寿命2倍」は現実に起きた話である。

 あるいは、「出生数 1/2」ならどうだろうか。多少の例外はあるが日本の出生数が200万人を超えていたのが1920年代-1940年代まで。一方で、2014年の出生数は100万1千人である。もちろん一人あたりの出生率は半減どころではない。「出生数 1/2」も現実に起きた話なのだ。

 それを踏まえて社会で起こっている諸問題を眺めるとどうだろう。あれほど馬鹿げた話だと思っていた星新一の描いた近未来都市が、ほかでもない私達が住んでいる社会を描写したものだとしても大きな違和感がないことに驚かされる。

 その時代に応じて最適な環境や制度や技術を整備したつもりでも、人間は、生物としてもっと昔の時代に最適化されているし、文化的にも少し前の時代に最適化されているのが普通だと思う。そのため新しい時代の変化に対して過剰に適応したり、あるいは適応せず、予想外の反応を示すため、その環境や制度や技術といったものの最適性は持続せず流転し続ける。自分が死んだあとも、そういうことが延々と続く。

 そういう意味では自分の活動の思わぬ副作用で変化し続ける環境下での強化学習なんていうのがあったら面白いのかもしれない。コンピュータや数学はよくわからないけど。温暖化で人間滅びろとも思わないが。

 星新一公式サイトのホシヅル図書館によると、星新一は1961年にこの作品を書いたそうだ。50年以上前の話である。同年は国民健康保険法が改正され,国民皆保険体制が確立された年でもある。