Sprocketに最強の二人が入社!今、まさにSprocketの成長が加速する

2017年4月にSprocketに新しいメンバーが加わった。空久保和史と緒方 竜一郎だ。なぜ、彼らはこのタイミングでSprocketを選んだのか。彼らのこれまでの経歴とともに、入社の動機、これからの目標について迫った。

DeNA子会社の経営、外資系SaaSベンダーで技術統括を経験し、Sprocketへ

深田:空久保さんには、ラインマネージャーとして、納品、運用業務整理、プロダクトの方向性など、事業成長を支える土台を作る仕事を任せています。最初に、これまでの経歴をお話ください。

空久保:新卒でIBMにエンジニアとして入社しました。しかしスタートアップに興味があったので、5年後にディー・エヌ・エー(DeNA)に転職しました。DeNAでは、子会社で決済代行会社のペイジェントの代表に就任し、経営を任されていました。その後、オンライン動画プラットフォームのブライトコーブで技術統括を担当しました。外資系のSaaSベンダーのスタートアップでは、日本のスタートアップとの違いを肌で感じましたね。

深田:どういったところで違いがあるんですか?
続きを読む

開発者を直撃!Web接客を自動化するAI機能「Autosegment」の過去・現在・未来

Sprocketでは、Web接客を自動的に最適化するAI機能「Autosegment」を2017年5月にリリースしました。この機能はWeb接客シナリオを表示すべき相手を機械学習により判別して、シナリオの出し分けを行います。すでに、Sprocketの既存クライアントの実環境にて運用を開始しています。

Sprocket、ウェブ接客を自動的に最適化するAI機能をリリース

今回は、AI機能の開発を担当する森下健、シナリオの設計を担当するプロデューサの馴松直樹、そして代表取締役の深田浩嗣の3人の対談の様子をお届けします。

Autosegmentの可能性に興味津々
Autosegmentの可能性に興味津々

続きを読む

NPI(Neural Programmer-Interpreters)で足し算の筆算アルゴリズムを実装する

はじめに

ここにもちょっと書いたのですが、NPI(Neural Programmer-Interpreters) という仕組みがあります。NPIはDeepLearningで「プログラムの実行」を学習させようという試みです。「プログラムの実行」方法を人間がプログラム言語で組み立てるのではなく、「プログラムの実行」をNPIが事例をみて学習するというのが醍醐味かなと思います。
続きを読む

Pythonでベイズ最適化を使ってハイパーパラメータを探索するライブラリ実装のメモ

はじめに

ベイズ最適化(参考:ベイズ最適化入門, 機械学習のためのベイズ最適化入門)を使うと、機械学習の時の各種Try&Errorで決めざるを得ないようなハイパーパラメータの探索を効率よく実施できる可能性があります。

考え方などは最近色々解説記事が増えてきたおかげで理解はできるのですが、GridSearchのライブラリみたいな形ではWeb上で見つけられなかったので、今回作りました。きっと車輪の再発明なのだと思うのですが、まあ再発明は勉強にはなるので良しとします。 続きを読む

Kerasでちょっと難しいModelやTrainingを実装するときのTips

はじめに

※ Keras2 を対象にしています。

Kerasのコードはシンプルでモジュール性が高いのでシンプルに記述可能で、理解しやすく使いやすいです。
ただし、標準で用意されている以外のLayerや学習をさせようとすると、あまりサンプルがなくてどう書いていいかわからなくなることが多いです。

最近いくつか変わったModelを書いた時に学んだTipsを備忘録も兼ねて共有します。

目次

  • Functional APIを使おう
  • Weightを共有したい場合は Container を使うと便利
  • 「LayerのOutput」と「生のTensor」は似て非なるもの
  • Lambdaを使った簡易変換は便利
  • カスタムなLoss FunctionはSample別にLossを返す
  • LayerじゃないところからLoss関数に式を追加したい場合
  • 学習時にパラメータを更新しつつLossに反映した場合

続きを読む