2015年4月9日木曜日

オンライン学習の本が出版されました

2015/4/8に、会社のメンバー4人で執筆したオンライン学習の本、「オンライン機械学習」が講談社より発売されました。 自分自身が機械学習の専門家であるという自負は微塵もないのですが、長らくJubatusの開発をしていましたので実装的な視点や実応用的な視点で書くことがあるだろうと思って少しだけ執筆に参加しました。 本当は、自然言語処理の応用を大量に書いたり、実装のツラミみたいなコラムを最初ガッツリ書いたのですが、いくつかのトピックがなくなったり応用多すぎと突っ込まれて消えていってしまいました。

オンライン機械学習 (機械学習プロフェッショナルシリーズ)
オンライン機械学習 (機械学習プロフェッショナルシリーズ)海野 裕也 岡野原 大輔 得居 誠也 徳永 拓之

講談社 2015-04-08
売り上げランキング : 260


Amazonで詳しく見る
by G-Tools

主に自分の書いた実装の章についてちょっと書いておきます。 私はいわゆる数理情報系の出身ではなくて、計算機科学系の人間だという自負があります。 ですから、計算機科学という視点で実装について触れる必要があると思っていました。 これはすなわち、数式による計算過程を「機械による計算ステップ」に落とすことそのものに、実はギャップがあるのだよという指摘です。 そこで、この手の本にはあまり馴染みのない、数値計算系の初歩的なトピック(浮動小数点数、オーバーフロー、桁落ちとはなんぞやなど)を盛り込みました。 また独学で実装しようとするとぶち当たる、活字化されていないテクニック(lazy updateやlogsumexp)を日本語に起こしたいという気持ちもありました。 数値演算に関しては、計算機科学系の学部では比較的早い段階で出てくるトピックですが、ひょっとすると数理情報系では触れないのではないか、そうであればちゃんと実問題に合わせて活字化するべきではないかという気持ちもありました。 本当は、近代的な計算機の構造(パイプライン、メモリ階層、SIMDなど)が、どういう影響をあたえるかに付いてもまとめたかったのですが、汎用的なトピックにまで落としこむことができませんでした。

ところで、この辺にいわゆる「データサイエンティスト足りない問題」の原因の1つがあるのではないかと考えています。 機械学習や統計解析を専門とする数理情報系の学部と、計算機や大規模データ処理を専門とする計算機科学系の学部というのは、そもそも別の専門なんですね。 最近さらっと、両方を扱える人材が必要と各方面で言われていますが、そもそも別の専門なのです。 私は、後者の組織に所属しながら、「たまたま」機械学習を中心とするようなトレンドに移った時期に自然言語処理を専門とする研究室に所属したため、前者の組織が専門とするような領域の勉強の初歩を、独学でしたことがあります。 社外含めて周囲で両方を扱う人は、多くの場合何かしらの手段で勉強している印象があります。 だからダメだということではなくて、学問領域の境界というのはそもそも流動的ですから、先入観にとらわれずに複数の領域のまたがった情報を発信したい、というのがこの本に込めた私の思いです。

あと、ここから完全に余談ですが、上記の内容をどこまで盛り込むか本当に悩みました。 こんな(HPC的に)初歩的な内容書いていいいのかとか、そんなの誰も読まないんじゃないかとか、どうせライブラリ使うじゃんとかをずっと悩んでいました。 大した内容でもないのに、3回位書いては消してを繰り返して、それでも載せるべきと最終的に判断しました。 また今回載せた内容は、過去にtwitterなりを利用して周囲の研究者の知り合いとディスカッションして整理した内容が多いです。 彼らには大変に感謝しています。 こうした内容が、誰かの役にたってくれれば幸いです。

0 件のコメント:

コメントを投稿