『仕事ではじめる機械学習』著者座談会:前編 きっかけは「没原稿の供養プロジェクト」だった【AI people:vol.7】

インタビュー

緊急企画! 本日から3回連載で、話題の書籍『仕事ではじめる機械学習』(O’REILLY)の著者インタビューをお届けします。
2017年10月に電子版が出版され、瞬く間にEbook Storeの2017年下半期売上1位に駆け上がった本書。1月16日に、紙版の書籍も刊行されました。

 

今回インタビューに参加してくださったのは、有賀康顕(ありが・みちあき)氏(@chezou)と中山心太(なかやま・しんた)氏(@tokoroten)。1時間以上に渡り、出版裏話からエンジニアへのアドバイスまで広く伺いました。

 

 

 

 

 

「没原稿の供養プロジェクト」から生まれたヒット作

 

ーこんにちは! 今日はよろしくお願いします。書籍の内容について詳しく伺う前に、まずお二人のお仕事と経歴について伺えますか。

 

有賀 僕は今、Clouderaという企業で「フィールドデータサイエンティスト」として働いています。簡単に言うと「機械学習とかAIやりたいんだけど何から手をつければいいかわからない」とか「上司から機械学習をやれと言われたんだけど、どういったところに機械学習を使えばいいかわからない」といった企業の担当者さんたちと話をするのが仕事です。

以前は電機メーカーの研究所で機械学習や自然言語処理、音声対話などの研究開発に携わっていました。音声対話というのは、今でいうSiriやGoogle Homeに搭載されているプログラムですね。その後クックパッドに転職し、エンジニアとしてコードを書きながら、レコメンドエンジンの開発も行って……という流れです。今の会社が3社目になりますが機械学習やデータ分析周辺の仕事にずっと関わっています。

 

中山 私は大学時代はセキュリティ関連を専攻していて、卒業後も通信会社の研究所でセキュリティ周りの研究をしていました。2008年頃に「これからはクラウドの時代だ」と思い、クラウドの研究に異動したいと申し出たんです。そこから徐々にビッグデータや機械学習の領域の研究を開始しました。その後ソーシャルゲームの会社に転職しました。最初は「ビッグデータやってたんだからインフラをやってほしい」と言われて、インフラにいたんですけど。

 

有賀 まじで?

 

中山 まじ。面白かったのは、インフラだと全部のデータが見えるんです。勝手にデータ見て遊んでいたら「もういいから、おまえデータ分析の部署に行け」って、送り込まれて(笑)。そこでずっとデータ分析をやっていました。

その後、ウェブマーケティングの会社に転職して機械学習をやっていました。

また会社辞めてしばらくフリーランスをしていたんですが、現在は会社を作って社長になっています。今は、機械学習のコンサルをメイン事業としています。

 

ーでは早速、書籍について聞いていきたいと思いますが、『仕事ではじめる機械学習』、多方面で好評ですね。執筆のきっかけはなんだったんでしょうか。

 

有賀 3人とも、自分の手元に発表してない原稿があったんです。これを「供養」するために同人誌として発表してみようか、というところから話がスタートしました。

 

中山 有賀は書いたけど出版できなかった原稿が手元にあったし、僕も分析したけど面白くなかったから没にした原稿を持っていて。同じように西林も、論文にはしたけれども、面白い題材で同じロジックを試したい、というアイディアを持っていて。技術書典という技術書の同人誌イベントに出したんです。

 

- なるほど。供養プロジェクトだったんですね。

 

有賀 はい。その時、もともと知り合いだったO’REILLY(オライリー)の編集者にこのプロジェクトの話をしたら興味を持っていただけて。それが全てのきっかけです。

 

― 技術書展での反響はどうだったんでしょう。

 

有賀 割と好評だったんですよ。150部持っていったんですが、開始後2時間くらいですぐに売り切れて「再販や電子版の予定はないんですか」と問い合わせを何件もいただいたんです。その中に出版社からのオファーも4件くらいありました。
最終的には当初から話を進めていたオライリー社に決めましたが、技術書展での反響からも手応えは少し感じましたね。

 

サンプル版の紙の書籍を持参してくれた。「供養プロジェクト」のつもりが大反響で驚いたという有賀氏

 

研究者や学者ではなく、「仕事で使う人」に向けて書いた本

 

―電子版ではオライリー社のランキング1位が続いていて、先日(紙の)書籍化もされました。どんなところが読者に受け入れられたと思いますか。

 

有賀 そもそも機械学習って、プロジェクトとして手戻りが多い類いのもの。僕らは経験があるから、プロジェクトをスムーズに進捗させるコツや大枠の流れを知っていますが、ほとんどの人は知らないんですよね。
昨今機械学習が流行り出して、いろんなエンジニアがトライしようとしているんですが、「教科書の練習問題を解いたけど、実際仕事でどう使えばいいかわからない」という人はすごく多い。そういう人たちに対して噛み砕いて説明する、というコンセプトにしたのが受け入れられたのではと思います。

 

中山 「機械学習やってみた」という本は多いんですけど、実際どうやるかをきちんと書いた本が全然なかった、というのは大きいかもしれませんね。

例えば「練習問題を解いてみた」という例は数多ありますが、まだ答えがない問題を解いてみた、という本はあまりなくて。機械学習をそもそもどういう風にプロダクトに突っ込んでいくかというところに言及した本が全然なかった。アルゴリズムや理論としての機械学習に関する本はいっぱいあるんですが、ビジネスとのつなぎが圧倒的に欠けていたんです。

僕や西林が書いた箇所では、かなり実務的な内容を取り上げているので、そこを気に入っていただけたのではないかと思います。

 

教科書的な書籍に書かれている内容を実際にビジネスの場面で使うときにどうすればいいのかを書いた一冊。

 

ーまずは電子版の出版から始まりましたが、反響はどうでしたか。

 

有賀 僕の周りでは割と機械学習の最新の事情に詳しい人が読んでくれて。客先で出版の話をしたりすると、意外と皆さん、既に読んでくださっていたりとか。

もともと電子版しか出す予定がなかったのが、電子版の売れ行きが好調であったため今回紙版も出していただけることになったことが一つのフィードバックかなとは思っているんですが、いろんなところでいい反応をいただいているなと感じてますね。

 

中山 最近だと特に、書評ブログを書く人が急激に減ってしまったので、僕は反響はそんなには見えないですね。ただ、現場を知っている人ほど「良書だ」と言ってくれるのは嬉しいです。

 

「機械学習をやらない」ことも大事な選択肢

 

ー執筆にあたって心がけたことはありますか。

 

有賀 僕は、出版できなかった最初の原稿に対して中山からもらったレビューが忘れられなくて、それがこの本のエッセンスになっていると感じています。

彼、僕の原稿を読んで「この本を読むと、エンジニアがみんな機械学習を始めてしまうではないか。機械学習のプロジェクトの話をするんだったら、絶対に途中で『機械学習をやらない選択をする』というフェーズをちゃんと入れろよ」って。

 

中山 僕、それ言った記憶ないんだよ。

 

有賀 言った(笑)。今でもすごく覚えてるよ。「第一歩はエクセルでも十分なんだよ」と。そう言われても、当時は具体的な例もあまり持っていなくて、お茶を濁そうとしていたんですけど(笑)。同人誌を出すにあたって、その突っ込みが頭の中にずっと残っていて、そこからこの本の前半に書いた話の骨子ができたというのはありますね。

 

特に機械学習についてのそもそも論。機械学習は道具にすぎないので、「道具を使う」ってことを目的にしちゃダメだ、ということは伝えたかったです。

ビジネスで使う場合は最初に目的があって、その一アプローチとして機械学習を使う、という話になるはずです。だけどここが抜けている人は意外と多い。

まず目的があって、その目的を達成するために何ができるか、仮説を立てますよね。「こうすればお客さんがいっぱい来てくれるはず、こうすれば購買の数が増えるはずだ」と。
そのために、例えば「商品のレコメンドを出す」という方法を考えたとします。それはそれでいいんですが、最初からがっつり機械学習でレコメンドを表示させようとするんじゃなくて、最悪、人力でなんとかする、でもいいから小さく始めてみる。
それでユーザーが喜ぶのか、目的を達成する方向に進むのかをちゃんと確認して、ここに価値がありそうだなと思ったら進む。

これは当たり前のように見えますが、機械学習の文脈でも一回改めて丁寧に伝えたかったんです。
この部分は他の本ではあまり言及されていませんでしたから。

 

中山 いないですね。往々にして機械学習がゴールになっちゃうんですよね。

この本の場合、機械学習はあくまでも手段の一つに過ぎないという位置づけで。

ゴールはあくまでも「プロジェクトの成功」。
そのゴールに向けて機械学習をどうやって使うか、という話に終始しました。

 

有賀 正直に言ってしまうと、機械学習ってある程度「バクチの要素」があるんです。普通のプロジェクトだと、プロジェクトの定義をしてタスクを決めて開発していけば、何かしら完成物ができると思うんですけど。

機械学習の場合ってある意味、ガチャ的な要素があって、いい結果が出るかどうかは蓋を開けてみないとわからない。ガチャを引いて、いい結果が出たらジグソーパズルの最後のピースが埋まる、みたいなイメージです。
そこできちんとピースが埋まればすごく良いプロダクトができて高く売れるけど、最後のピースが出るかどうかはわからないんです。ここは実際の例で、僕らもたくさん痛い目に合ってきているところなんですが。

だからこそそれを前提としたビジネスを構築しないといけない。

 

中山 そう。ビジネス側の要件を緩めれば、先ほどの例で言えばレコメンドの精度が悪くたって、全然ビジネスになったりするし。
だからビジネスサイドで「機械学習が完璧じゃなくてもお客さんが喜ぶ、成果に繋がる状態」に持っていけたら、機械学習が入るとより良い状態になるんだよね。

「機械学習が完璧に動かないと機能しないプロダクト」を前提としたビジネスを作られてしまうと、本当に身動きが取れなくなる。そういうことをどうやって避けるかが実際のビジネスの現場では重要で。

 

有賀 ディープラーニング界隈では「99.5%を達成しました!」みたいな話題ももちろん出てくるんですけど、現実の世界でやると、そこまできれいにハマるっていうのは少なかったりする。

100パーセント正しいものが出てこない、となった時に、そこをその後どうやってリカバーするのとか、そういったところまで含めて、全体を設計するということが大事になってくるんです。その辺りの話を入れることを心がけました。

 

エンジニアならではの執筆スタイル

 

―同人誌の原稿からは、結構書き直したんですか?

 

中山 僕と西林は、ほぼ全部書き直しましたね。

 

有賀 あとは、エンジニアや、実際に機械学習を仕事で使っている人たちに見てもらって、突っ込みをもらったり議論したりとかして補足したりはしましたね。文章については編集の方にお任せしました。そこは僕らの専門領域ではないので。

 

―出版までの期間はどれくらい?

 

有賀 同人誌を出した後、5月に出版社さんと合意をして、そこから10月に出版することを目標として進めたので、正味5カ月ぐらいで出版まで進めたという感じですかね。

 

O’REILLYのトップページでも大きく取り扱われている。

 

- 大変だったことはありますか。

 

有賀 別にこの本で、というわけじゃないんですけど、校了前の佳境の時期に急きょ海外出張が入って、「なんで俺はニューヨークのカンファレンス会場で校正をやってるんだ……」みたいなことはありました(笑)。

でもやっとひと段落ついたと思ったら、その翌週に中山が本気出して。ものすごい赤が入って、「おまえ……でも言ってることまっとうだから、これ何とかせなあかんわ……まじか……」みたいな(笑)。

 

中山 締切り日までは自分の原稿を書くのに精一杯で、人の分まで見る余裕がなくて。自分の原稿が終わったので、2人の原稿を見始めたら気になるところが出てきちゃって……ごめん。っていう(笑)。

 

ー中山さんは何かありましたか。

 

中山 何だろう。いろいろ大変だったんですけど……ちょうど40連勤とかやって。

 

- 何ですかそれ?!

 

中山 僕、今、機械学習のコンサルの他にゲームディレクターと半導体の検査装置の開発と自社の仕事もやっていて……。当時、ちょうど僕がゲームディレクターやってたゲームがリリースするというので、そのときに40連勤とかしていて、全く身動きが取れなかったんです。それはきつかったですね(笑)。

ただ、そんな中でも今回特に面白かったのが、GitLabと、有賀さんが作った本のビルドシステム。あれに助けられました。

 

「@tokoroten(ところてん)」として多彩な活躍をする中山氏。twitterの人・・・!

 

有賀 ちょっとテクニカルな話なんですけどね。本の原稿をcommitしてpushすると、GitLabのほうで自動的にPDFを生成するシステムを用意しておいたんです。

本を書いてる最中にシステム構築とかその辺の負荷があると、原稿を書くスピードが遅くなるというのは何となく想像していたので。
最終的なレイアウトは出版社の方にお願いするわけですが、原稿をチェックするときには、PDFの状態になっているとテキストファイルで読み流すのとは気づく量が違うんですよね。

 

中山 最終的にはオライリーさんのシステムにつないで、EPUBフォーマットの電子書籍版の原稿に自動反映されるようにしました。だから電子版では、僕らが校正をプッシュすると1時間後ぐらいには見れるようなっていて。エンジニア的なやり方で原稿を作ることができたのは面白かったですね。

 

― ありがとうございました! 次回は読者へのメッセージやアドバイスを伺っていきます。

 

Team AIでは渋谷で無料勉強会を実施中です。詳細は以下からご確認ください。

connpass   meetup

Team AI Careerはデータ分析・機械学習系に特化した仕事紹介エージェントです。

最新深層学習案件等に参画しキャリアアップしませんか?

正社員・業務委託の方も是非ご登録下さい