2017年1月23日月曜日

ブログの移転について

ブログを以下のURLに移転しました。
http://blog.saiilab.com/
このブログにリンクを張っている方には大変ご迷惑をおかけします。

2017年1月2日月曜日

読書録: サピエンス全史

「サピエンス全史」を2回通読しました。
個人的に2016年一番の名著だったので、興味深かった内容を一部引用し、コメントしてみます。


ハンムラビもアメリカの建国の父たちも、現実は平等あるいはヒエラルキーのような、普遍的で永遠の正義の原理に支配されていると想像した。だが、そのような普遍的原理が存在するのは、サピエンスの豊かな想像や、彼らが創作して語り合う神話の中だけなのだ。これらの原理には、何ら客観的な正当性はない。
我々が普段から共有している人権や自由の概念さえも、実は人の想像力に基づく神話に過ぎません。何ら事実に基づかない、創作なのです。
近代後期まで、人類の九割以上は農耕民で、毎朝起きると額に汗して畑を耕していた。彼らの生み出した余剰分を、王や政府の役人、兵士、聖職者、芸術家、思索家といった少数のエリート層が食べて生きており、歴史書を埋めるのは彼らだった。歴史とは、ごくわずかの人の営みであり、残りの人々はすべて、畑を耕し、水桶を運んでいた。
人類の歴史の大半において、人類の大半は食糧生産に従事しており、僅かな余剰分が特権階級を養っていました。一般に言う世界史とは、この僅かなエリート層の活動のことを意味してきました。
犯人は、小麦、稲、ジャガイモなどの、一握りの植物種だった。ホモ・サピエンスがそれらを栽培化したのではなく、逆にホモ・サピエンスがそれらに家畜化されたのだ。
言い得て妙だと思いました。穀物は、安定したカロリーを人類に供給する代わりに、辛い労働、搾取、栄養の偏りなどのリスクを強いるようになりました。穀物は、人類をうまく利用することで、個体数という意味ではかつてない繁栄を謳歌しています。
ホモ属は食物連鎖の中ほどに位置を占め、ごく最近までそこにしっかりと収まっていた。人類は数百万年にわたって、小さな生き物を狩り、採集できるものは何でも採集する一方、大きな捕食者に追われてきた。四〇万年前になってようやく、人類のいくつかの種が日常的に大きな獲物を狩り始め、ホモ・サピエンスの台頭に伴い、過去一〇万年間に初めて、人類は食物連鎖の頂点へと飛躍したのだった。
人類が食物連鎖の頂点に立ったのは、人類の歴史の中でもつい最近でしかないようです。人類が他の動物種と比較した場合の特殊性も際立っていますが、人類の歴史の中でもここ10万年、そして文明がはじまったここ1万年はかなり特殊なようです。
ホモ・サピエンスでは、脳は体重の二~三パーセントを占めるだけだが、持ち主がじっとしているときには、体の消費エネルギーの二五パーセントを使う。これとは対照的に、ヒト以外の霊長類の脳は、安静時には体の消費エネルギーの八パーセントしか必要としない。
人類が、いかに知性に特化した生き物か、という一つの証拠ですね。
一〇万年前の地球には、少なくとも六つの異なるヒトの種が暮らしていた。複数の種が存在した過去ではなく、私たちしかいない現在が特異なのであり、ことによると、私たちが犯した罪の証なのかもしれない。
キツネやタヌキに複数種が存在するように、人類にも複数種が存在した時代があります。サピエンスにより、生活圏が被る他の種が駆逐されてしまったためかもしれません。
人類の知識量を増大させる自分の人生には意義があると言う科学者も、祖国を守るために戦う自分の人生には意義があると断言する兵士も、新たに会社を設立することに人生の意義を見出す起業家も、聖書を読んだり、十字軍に参加したり、新たな大聖堂を建造したりすることに人生の意義を見つけていた中世の人々に劣らず、妄想に取り憑かれているのだ。
個人の幸福は、ある種の妄想の追求と密接に関わっているようです。
世界には一五億頭の畜牛がいるのに対して、キリンは八万頭ほどだ。四億頭の飼い犬に対して、オオカミは二〇万頭しかいない。チンパンジーがわずか二五万頭であるのに対して、ヒトは何十億人にものぼる。人類はまさに世界を征服したのだ。
人類、およびその家畜と他の大型哺乳類の個体数を比較してみると、人類が突出していることは一目瞭然です。人類によりそれまでの生態系が大きく歪められたのは、疑いようがないかと思います。
一八世紀半ば、ベンジャミン・フランクリンは科学史でもとりわけ有名な実験を行なった。雷雨のときに凧を揚げ、稲妻はただの電流にすぎないという仮説を試したのだ。フランクリンは、このときの経験的観察結果と、電気エネルギーの特性についての知識を組み合わせ、避雷針を発明して神々の武装を解除することができた。
 神々の武装とは人類の無知のことです。科学革命とは、人類が人類自身の無知を認め、新しい知識を獲得することによりそれまで解決不可能であった問題を解決することとされています。ベンジャミン・フランクリンの例は、雷がただの電流であることを証明し、それまでの人類の無知さを証明してしまった一つの例かと思います。
それでは私たちはなぜ歴史を研究するのか? 物理学や経済学とは違い、歴史は正確な予想をするための手段ではない。歴史を研究するのは、未来を知るためではなく、視野を拡げ、現在の私たちの状況は自然なものでも必然的なものでもなく、したがって私たちの前には、想像しているよりもずっと多くの可能性があることを理解するためなのだ。
歴史を学ぶ意義は、まさにこれかと思います。40年前に今のインターネットやスマートフォンの隆盛が予想できなかったように、未来は我々の想像力を超えたものになるでしょう。人類至上最大の速度で変化し続ける現在の世界の未来に対応するためには、歴史を学ぶことで視野狭窄を予防することがとても大事に思えます。
サピエンス全史(上)文明の構造と人類の幸福
サピエンス全史(下)文明の構造と人類の幸福

2016年12月30日金曜日

「みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習」をUdemyで公開しました

初心者向け人工知能、機械学習のコースをUdemyで公開しました。
今年中であれば、私に個人的に連絡をいただければ無料クーポンをお渡しします。
その際は、評価とコメントをいただけると嬉しいです。

みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習




みんなのAI講座は、誰に対しても開かれた人工知能、機械学習の講座です。プログラミングや数学の事前知識はほとんど必要ありません。

難解な数式やプログラミングが学習の妨げであった方でも、問題なく学習できます。

文系や非エンジニアの方にもお勧めです。

500人以上にプログラミングを指導し、ワールドビジネスサテライトにも登場した経験豊富な講師が指導します。

本コースでは、人工知能技術全般の解説を行いますが、実際にを書くのは主に機械学習のコードです。

機械学習のコードは、人工知能の分野で最もメジャーなプログラミング言語、Pythonで記述します。

開発には、PyCharmという開発環境を使います。これにより、初心者の方が躓きやすい環境設定が大幅に楽になります。ターミナルなどのコマンドラインを開く必要はありません。

データの分類や、文字認識、株価分析などの実践も行います。

その他コースの特徴は、以下通りです。

理論よりも体験を、手を動かすことを重視します。
可能な限り、簡単な数学を用いて解説します。
必要な数学はグラフィカル、直感的に解説します。
ニューラルネットや機械学習などの難しい概念は、細かく分解して少しずつ学習します
プログラミング初心者、未経験者でも大丈夫です。プログラミング言語Pythonを基礎から勉強します。
機械学習の基礎が身につきます。機械学習のコードを一から実装します。既存の有名ライブラリの解説も行います。
なお、大学レベル以上の数学や、機械学習の深い理論の解説は行いませんのでご注意ください。

ディープラーニングに関しては、概念のみの解説となります。

こんな方におすすめ
人口知能、機械学習に興味があるが、最初のとっかかりが分からない方
人工知能、機械学習関連の分厚い書籍に辟易した方
人工知能、機械学習をビジネスで扱う必要に迫られた方
数学、プログラミングが人工知能学習の障壁になっている方
人工知能の学習を通してPythonプログラミングを身に付けたい方
文系の方、非エンジニアの方にもおすすめです

みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習

2016年12月26日月曜日

MetalでiOSアプリに宿る生命

iOS その2 Advent Calendar 2016 25日目の記事を投稿しました。

内容は、2016年12月14日にshibuya.swift#6で発表した内容に加筆を行ったものです。加筆内容は、主にGPUコンピューティング、生命や知性に関する個人的な観点です。
発表のレポートはこちら。
MetalでiOSアプリに宿る生命


今回の群知能の観察結果ですが、パラーメタの設定により急激に全体の振る舞いが変わる様子は、物理学でいう相転移に相当するかもしれません。また、個々の個体からは想像しがたい振る舞いを集団が示す様子は、複雑系、もしくは創発に当たるでしょう。
創発とは部分の性質の単純な総和にとどまらない性質が、全体に発現することです。例えば比較的単純なメカニズムの神経細胞の集合から、脳の複雑な機能が発現するのも一種の創発と考えられるかと思います。

人は千数百億個の神経細胞を持つのですが、線虫の仲間にはわずか302個しか神経細胞を持たないC.エレガンスという仲間がいるそうです。そして、その神経細胞同士の五千数百個のつながりは全て明らかになっています。

たったこれだけの神経細胞とニューラルネットワークで、この線虫は物理刺激に対する回避運動を行い、温度や化学物質の濃度と餌の有無を紐づけて記憶するそうです。まるで機械学習ですね。
(参考)エレガントな線虫行動から探る神経機能

人と同等の処理の能力を持ったニューラルネットワークを作ることは最先端のスパコンでも現在は無理ですが、線虫のような、いわば原初の知性とでもいうようなものであれば、MetalとiOSでも実現できそうに思えるのです。

並列演算という意味で、脳はGPUと似ているとよく言われます。スマートフォンは、現時点でもある意味外付けの脳のようなものですが、Metalの並列演算によりより生物の脳らしくなるのではないでしょうか。

詳細は、以下の記事をご覧ください。
MetalでiOSアプリに宿る生命

[iOS]MetalでGPUコンピューティング(13) スレッドについて

Metal Advent Calendar2016の24日目の記事を投稿しました。
Metal Advent Calendar2016の最後の記事となります。

本記事では、前回に引き続きAppleが提供するサンプルコードの解説を行います。
扱うサンプルコードは、前回と同じライフゲームのアプリ、MetalGameOfLifeです。
MetalGameOfLife

今回は、サンプルコード内で用いられているスレッドの概念について解説を行います。

詳細は、以下の記事をご覧ください。
[iOS]MetalでGPUコンピューティング(13) スレッドについて

2016年12月17日土曜日

[iOS]MetalでGPUコンピューティング(12) MTLRenderPipelineState

Metal Advent Calendar2016の17日目の記事を投稿しました。

本記事では、前回に引き続きAppleが提供するサンプルコードの解説を行います。
扱うサンプルコードは、前回と同じライフゲームのアプリ、MetalGameOfLifeです。
MetalGameOfLife

今回は、サンプルコード内のMTLRenderPipelineStateについて解説を行います。

詳細は、以下の記事をご覧ください。
[iOS]MetalでGPUコンピューティング(12) MTLRenderPipelineState

[iOS]MetalでGPUコンピューティング(11) MTLRenderCommandEncoder

Metal Advent Calendar2016の16日目の記事を投稿しました。

本記事では、前回に引き続きAppleが提供するサンプルコードの解説を行います。
扱うサンプルコードは、前回と同じライフゲームのアプリ、MetalGameOfLifeです。
MetalGameOfLife

今回は、GPUコンピューティングとは直接関係はありませんが、サンプルコード内のMTLRenderCommandEncoderについて解説を行います。

詳細は、以下の記事をご覧ください。
[iOS]MetalでGPUコンピューティング(11) MTLRenderCommandEncoder