Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

歴史をたどってディープラーニングを学ぶ 第七回 意外と難しいソフトマックス層を実装して学ぶ

こんにちは、ニューラルネット老人こと糟谷勇児です。
私はドラクエウォークという位置情報を使ったゲームをしています。
ウォークという名前ですが今回のウイルスの件で完全在宅ゲームになって歩く必要がなくなりました。

ドラクエといえば、ストーリーの序盤で圧倒的な力で主人公たちを打ち砕く強大な敵を、中盤で成長した主人公が打ち倒す展開が熱いですよね。
代表的な敵としてはムドーとかゲマとか。

ディープラーニング界のムドーはやはりAlexNetですかね。

ブログ第二回で紹介してから、多層化、ReLU、コンボリューション、マックスプーリングと積み上げてきましたが、それも大詰め、今回はソフトマックス層について学んでいきます。
ソフトマックスはドラクエで言うとチャモロといったところでしょうか。

最終層をSigmoid関数にする際の課題

これまで、中間層はReLU、最終層はSigmoid関数を活性化関数に用いていました。
これまでやってきた、船と飛行機を見分ける問題だと、最終層に二つのニューロンを用意し、一つ目の出力が二つ目の出力より大きければ船、そうでなければ飛行機というように推論を行います。
つまり、大事なのは一つ目のニューロンと二つ目のニューロンの値の差ということになります。
理想的には、船の画像を入れたら、一つ目のニューロンの出力が1でもう片方が0、飛行機の画像を入れたらその逆ということになります。
そのため、船の画像を入れたら(1,0)、飛行機の画像を入れたら(0,1)を正解として学習させていました。

しかし、一つ目と二つ目のニューロンの差が重要ということなら厳密にいえば、(1,0)と(0,1)に近づけることに合理的でない場面も出てきます。

例えば、ある船の画像を入れたら、(0.9, 0.6)という値が出たとします。
二つのニューロンの値の差が0.3あるのである程度分離できていそうです。
では、(0.55, 0.40)という値だったらどうでしょう。
差は0.15で先ほどの半分なので、もう少し差がつくように学習したいですよね。
しかし、(1,0)からの二乗誤差はそれぞれ0.37, 0.36なのでどちらかというと(0.9, 0.6)のほうが誤差が大きい状態になります。
つまり、ニューラルネットから見ると、どちらかというと(0.9, 0.6)を(1,0)に近づける方が優先度が高いわけです。
※正しくは、誤差と優先度が比例するわけではないですがわかりやすさのため。

続きを読む

【Geek Seek Toolsで買われた、気になるモノ達】第13回「Blue Snowball iCE(USBコンデンサーマイク)」

f:id:hartmann3555:20200605125016j:plain

はじめに

こんにちは。DSOC 研究開発部 Data Direction Team でデータエンジニアをしている千葉祐大です。

最近、子供の送迎用に YAMAHA の電動アシスト自電車を購入したのですが、漕ぎ出しや坂道のアシスト具合が快適過ぎて QOL が向上しました。おすすめです。

さて、この連載は弊社の社内制度である Geek Seek Tools *1で購入されたガジェットの中から、僕がイケてると感じたものを気の赴くままに紹介していく連載となっています。

今回は、在宅勤務の必需品とも言える、コンデンサーマイクの Blue Snowball iCE をご紹介します。

*1:生産性向上に資するガジェット・デバイスその他が購入しやすくなる制度。Geek Seek Tools の詳しい説明については第1回をご覧ください。

続きを読む

Zendeskチケットのカスタムフィールド自動登録

はじめに

こんにちは。Eight事業部 サポートエンジニアの山本です。サポート業務の効率化のために行った、Zendeskチケットのカスタムフィールド自動登録についてお話しします。

Eightではお問い合わせの管理にZendeskを使用しています。Zendeskではお問い合わせをチケットという形で管理しています。このチケットに対してカスタムフィールドを設定することができ、そこにEight内部の情報であるユーザーアカウント等の情報を記載しています。

Webのお問い合わせフォームからお問い合わせが入力された場合、アカウントの紐付けとして、フォームに入力いただいたお客様のメールアドレスを社内の管理サイトで検索し、その結果からユーザーアカウントの情報をカスタムフィールドに転記していました。

単純作業ではありますが、全てのチケットに対して行う必要があり全体としては大きな時間がかかります。この入力を自動化することで大幅に時間を削減し、より早くユーザーに回答を届けられるようになりました。

続きを読む

【ML Tech RPT. 】第17回 構造に関連する機械学習を学ぶ (3) ~時系列予測~

f:id:ssatsuki040508:20181210005017p:plain
DSOC研究員の吉村です. 最近, 調理器具を集めるのにハマっていて, 耐熱性のゴムベラを購入しました. 火にかけながら利用できるのが非常に使いやすく, 直近での一番いい買い物だったと感じています.

さて, 今回も引き続き構造に関する機械学習の話題です. 前回の最後に系列データの回帰の話について書くとしていましたが, 今回のタイトルを見てもらうとわかるように時系列予測についての話が今回の主題です. その中で, 比較的古典的な ARIMA 過程に関連する一連のモデルを見ていこうと思います. (この ARIMA 過程に関連するモデル群は, ネーミングから進化がわかりやすいので個人的にまとめやすくてよかったです.)

時系列予測とは

時点  t における状態  y_t を時点  t-1 以前の状態から予測する問題設定のことです. 系列が一つだけの場合が一番オーソドックスな問題設定ですが, 系列が複数ある場合も当然あり, そのときには全ての系列の時点  t の状態を予測することが目的になります. また, 時点  t に依存する外的要因 (例えば, 天候や曜日などの系列の状態に影響を与えうる情報) として, ベクトルの系列  \{\boldsymbol{x}_t\} が合わせて与えられる場合もあります.

続きを読む

新機能のコンセプト立案から学んだ、事業要求をプロダクトに実装する時にやるべきこと

こんにちは、Eight事業部でプロダクトマネージャーをやっている稲垣と申します。今回は先日リリースした新機能「スキルタグ」のコンセプト立案の過程と、そこから得られた学びについて書きたいと思います。

プロジェクトの概要

スキルタグは、名刺のプロフィール情報を元に、「法人営業」「Webデザイナー」といったスキルをタグとして付ける機能です。ユーザーが所有している名刺が自動で整理できて、プロフィールとして自分の強みを相手に伝えることもできます。

f:id:n-ina:20200605004400p:plain:w240
スキルタグ検索画面

背景

我々のアプリが提供する価値は、名刺をデータ化する事から方向転換して、人物や企業の情報を可視化するところまで領域を広げています。
人物データベースとしての価値向上において「人物のスキルを可視化する」という構想は、2年前からありました。
2019年に採用サービス「Eight Career Design」を立ち上げたことで「スキル」情報の必要性が高まり、本格的にプロジェクトとして動かすことになりました。

続きを読む

ここ最近の計算社会科学の動向

反対意見を知れば分かりあえるのか?偏った集団でも正しい決定ができるのか?フェイクニュースほど広まりやすいのか?良好な人間関係はパフォーマンスを向上させるのか?研究者が束になってかかれば、社会的現象を予測できるのか?

こんにちは、Sansan DSOC R&D研究員の前嶋です。普段はつながりに効く、ネットワーク研究小話という連載を書いていますが、今回はここ2,3年の計算社会科学の潮流を紹介したいと思います。

計算社会科学(Computational Social Sciences)は、SNSなどのビッグデータ解析やオンライン上での実験などを用いて社会現象を定量的に分析するという、社会科学と計算機科学の融合分野です。

日本でも最近、マシュー・サルガニックによる概説書”Bit by Bit”が翻訳され、社会科学の研究者のみならず、広くその名前が知れ渡りました。日本には計算社会科学研究会というコミュニティがあります。Sansan DSOCでも、IC2S2やNetSciなど計算社会科学系の国際学会やワークショップで積極的に研究発表を行っています。

buildersbox.corp-sansan.com

buildersbox.corp-sansan.com

さて、2020年4月のAnnual Reviews of Sociologyに、社会学分野での計算社会科学の研究潮流をまとめたレビュー論文が掲載されました(Edelmann et al. 2020)。”Bit by Bit”の原著は約3年前の2017年11月に出版されたものですが、計算社会科学ではこの間にも急速に研究が進んだようです。

そこで今回は、このレビュー論文で紹介されている研究のうち、2017年以降の計算社会科学の研究をいくつかピックアップして、"「ビッグデータ」「実験的アプローチ」「マス・コラボレーション」という3つのテーマに分けて、簡単な紹介を行いたいと思います。

続きを読む

© Sansan, Inc.