必要になるとのことです。(時間がかかるので、お茶でも飲んで待ちましょう)。いう名前でインストールされることに注意が必要です。ビルドすることはできません。する手順を紹介します。ハマりどころがなくなって楽になりました。実行でかなり時間がかかります。二杯目のお茶でも飲んで、待ちましょう)。「おーい、いそのー、エンジニアにとっての機械学習について考えようぜー!」というセッションにパネラーとして登壇してきました。「機械学習を身に付けたとして、その先のエンジニアとしてのキャリアはどうなる?」と思ってる、そこのアナタ。本セッションでは、機械学習や統計はもともと専門じゃないけど気がついたらバリバリ使ってた、そんなエンジニア連中が以下について語ります。・エンジニアが機械学習を身に付けるために必要なこと・どのように機械学習を学ぶのが効率的か・エンジニアのキャリアパスとして考えた時、機械学習はどうなのかというものでした。当日は会場の音響の状況的に聞こえづらいところもあったかと思うので、僕がお話した内容(伝えたかったこと)+αをざっとまとめておきます。エンジニアが機械学習を身に付けるには何が必要か?まず最初は「エンジニアが機械学習を身に付けるために必要なこと」について議論しました。つのタイプがあるんじゃないかと僕は考えています。いうような、アルゴリズムに対するそこそこの理解が最低限必要になるかと思います。セッションを終えた後に議論を振り返っていて思ったのでした。ある程度高水準なコンピューターサイエンスの知識、それと統計学の知識が必要になると考えています。僕自身の経験から、微積や線形代数などの高校・大学レベルの数学の知識があると何かと助かるんじゃないかと思っています。その他には、英語力をつけておくと、最新の英語論文を読んでそれを実装したりもできていい感じです。身につけるべきとなります。機械学習を効率的に学習するにはどうしたらよいか?次のトピックは「どのように機械学習を学ぶのが効率的か」でした。これは僕自身の経験にもよるのですが、何よりも「仕事で機械学習を使わざるを得ない状況に身をおく」ことが一番効率的に機械学習を学べると実感しています。加えて言うと「機械学習の師匠」と呼べるような、理論面でも実活用面でも秀でた人物のそばで機械学習を利用する仕事ができるとベストだと思います(僕がいまいる会社がまさにそのような、理想的な状況にあるわけです)。そんな恵まれた状況に誰しもが巡り合えるわけではないことは重々承知していますが、本気で機械学習のお仕事をする覚悟があれば、転職をするのもありだと僕は考えています。転職をするにも多少なりとも機械学習の知識が必要になることもあるかと思います。機械学習系の勉強会に顔を出したり、各種書籍の読書会に参加して発表するのが次善の策と言えるでしょう。エンジニア+機械学習のキャリアパス続いてのトピックは「エンジニアのキャリアパスとして考えた時、機械学習はどうなのか(機械学習を身につけることによって得られるリターンはいかほどか)」でした。ここでいう「リターン」とは給与などのことを指すとして、現時点において機械学習を利用できるレベルのエンジニアの給与水準は、他の一般的なエンジニアの給与水準よりは幾分高いのではないかと推測しています。機械学習を実装できるレベルのエンジニアともなれば、相当な高水準の給与を得ているのではないでしょうか。これは別に、機械学習の世界でだけ言えることではなくて、世間一般的に言えることなんじゃないかと思います。専門的かつ高度な技術・知識を持っていれば、給与水準は自ずと高くなるはずです。技術コモディティ化が進んでいると思っています。この傾向は今後も継続して進んでいくものでしょうし、そうなるとただ単に「機械学習を扱える」だけのエンジニアの価値は並のエンジニアとさほど変わらなくなるでしょう。機械学習が活用できるシチュエーションは、現実世界にはそう多くはない、ということにも注意が必要です。いうのは想像に難くないかと思います。機械学習を扱えるエンジニアが多いと需給的には買い手市場となり、結果として給与水準が並のエンジニアとそう変わらない状況も生じるのではないかと思います。これはちょっと悲観的過ぎる推測でしたが...そのため、機械学習を利用できるだけではなく、必要とあらば機械学習のアルゴリズムを実装できるぐらいのスキルがなければ中長期的にみて見合うリターンは見込めない、というのが僕の意見になります。スペシャリスト的な働き方を目指すのであれば、それぐらいの覚悟がなければダメですよね。最後のトピックは「業務で大変だったこと、それをどう乗り越えたか」でした。一般的にソフトウェア開発では、その品質を高めるために手動もしくは自動でのテストをするわけですが、機械学習においては知ってのとおり、手動や自動の議論以前に、そもそもテストを適用すること自体がそう簡単なことではありません。そのため、機械学習を組み込んだアプリケーションがあったとして、そのアプリケーションの実行結果がなんとも思わしくない結果が得られた場合、機械学習アルゴリズムにおける精度の制約なのか、それとも実装上の不具合なのかを切り分けることは困難な問題になります。実際に僕も、この切り分けが困難な問題に何度も直面し、そのたびにつらみを感じてきました。そのため、今では機械学習の実装に対してできるかぎり自動テストを適用し、「実装上の不具合」を回避するように心がけるようにしています。Deck自分自身の振り返りこんな感じで、当日のセッションでは識者ぶってお話をしてきました。黒帯」みたいなものを名乗るにはまだほど遠いところにいると思っています(「黒帯」とかただただ恥ずかしいだけだし、名乗りたいとは思っていません)。引き続き学習あるのみ、です。これまでの経験上、ソフトウェアエンジニアを続けている限りは「コンピューターサイエンス」を除いて廃れない技術はない、と僕は考えているので、機械学習もまたいつか廃れる日が来るのかもしれません。その日が来るまではしばらく、もうちょっと機械学習に投資してみようかな、と思っています。→2016-01-15僕は最近こんなお仕事をしているんですよー、という意味をこめて喋りました。機械学習だけが「アドテク」じゃない。最適化も重要なんだよ、という気持ちで。Inc.よろしければ、こちらも合わせて御覧ください。Systemプレゼンテーションに盛り込む内容について、細かいことを言わない上司に恵まれているので、僕が担当している・していたお仕事の特に興味深そうなところをほぼすべてを余すことなくしたためた資料です。年半前、広告について何も知らなかった僕は必死の思いで関連文献を読み漁っていたわけですが、当時にこれくらい充実した資料があれば、もっと楽して開発できたのになあ、と資料を作りながら思ったのでした。この資料が他の誰かの助けになれば幸いです。いう方がいましたら僕宛にコンタクトください。ネタスライドは受けがよくない。いうソルバーを使ってみましたよ、というメモ。手順を参考にインストールを試してみる。