Sansan Tech Blog

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

歴史をたどってディープラーニングを学ぶ 第八回 データオーギュメンテーションを実装して学ぶ

こんにちは、ニューラルネット老人こと糟谷勇児です。

今回はデータオーギュメンテーション(Data Augmentation)を見ていきます。データオーギュメンテーションは学習データを人工的に変えて水増しして学習させる技法です。画像なら縮小や回転、左右反転、平行移動などが行われます。今回はニューラルネット自体をいじらないので簡単そうですね。(実際はだいぶハマった)

前回は、ソフトマックス層を実装しました。ソフトマックスはドラクエに例えるとチャモロという話をしましたが、データオーギュメンテーションはドラクエに例えると「ゲントの杖」ぐらいの期待感はあります。

というのも、今までの誤認識をした結果を見ると明らかに失敗しているものに傾向があるからです。

小さいもの
f:id:kasuya_ug:20200703094122j:plainf:id:kasuya_ug:20200703094124j:plainf:id:kasuya_ug:20200703094126j:plainf:id:kasuya_ug:20200703094130j:plainf:id:kasuya_ug:20200703094133j:plainf:id:kasuya_ug:20200703094136j:plain
下のほうにあるもの
f:id:kasuya_ug:20200703094302j:plainf:id:kasuya_ug:20200703094306j:plainf:id:kasuya_ug:20200703094309j:plainf:id:kasuya_ug:20200703094311j:plain

アップのもの
f:id:kasuya_ug:20200703094443j:plainf:id:kasuya_ug:20200703094446j:plainf:id:kasuya_ug:20200703094448j:plainf:id:kasuya_ug:20200703094451j:plainf:id:kasuya_ug:20200703094454j:plain

低コントラストなもの
f:id:kasuya_ug:20200703094625j:plainf:id:kasuya_ug:20200703094629j:plainf:id:kasuya_ug:20200703094632j:plainf:id:kasuya_ug:20200703094634j:plainf:id:kasuya_ug:20200703094637j:plain

これらを認識するのに、画像を拡大・縮小したり、平行移動したり、低コントラストにしたりした画像を増やしていくとよさそうです。

続きを読む

企業内研究のウラガワ〜SOCIOECONOMIC NETWORKS AND NETWORK SCIENCE WORKSHOPの登壇を通じて

こんにちは!Sansan DSOC 研究員の西田です。
最近は着る予定も当分ないのにもかかわらず、3つボタンのスーツを購入しようと検討しています。もちろん生地はポリエステル縮絨です。

さて、今回のブログは、企業内研究のウラガワと題して、7月3~4日にてオンラインで開催されたSOCIOECONOMIC NETWORKS AND NETWORK SCIENCE WORKSHOPでの登壇を題材とし、登壇まで企業内研究にどのように取り組んでいたのかをできるだけ詳細にお伝えしたいと思います。

登壇資料はこちらです。

speakerdeck.com


以降は、以下の目次に沿ってお話しできればと思います。

  • 何のために登壇するのか?
  • Research Questionを立てる
  • Solutionを学び、形にする
  • Presentationを組み立てる
  • 社会理論を武器にする
f:id:sansan_nissy:20200709184441j:plain
オンライン登壇の風景
続きを読む

【Techの道も一歩から】第30回「久々の Windows」

f:id:s_yuka:20200424095303j:plain

こんにちは。DSOC 研究開発部の 高橋寛治です。

今回は業務に利用している手元の環境を Mac から Windows に変更したという軽い話です。 交換した理由や Mac から Windows に乗り換えた時にセットアップする点について記します。

交換した理由

マシンスペックに不足を感じたことと WSL の進化が理由となります。

SSH で基本的に作業するため、軽くて持ち運びしやすい SSH クライアントと思って Macbook を利用していました。 しかしながら、昨今のリモートワーク事情により増えたビデオ通話で限界を迎えました。 ビデオ通話は便利である一方 CPU リソースを消費します。 ファンレスマシンは熱によるクロック低下が起こり、円滑なコミュニケーションに支障を来していました*1

高スペックな Macbook Pro でもいいのではないかと思いましたが、WSL が進化しており Linux が扱いやすくなっていることと、Sansan では Windows ノートパソコンは NVIDIA 製 GPU を搭載したものを選べる*2ことから、Windows としました。

端末のスペック

ThinkPad X1 Extreme

  • OS: Windows 10
  • CPU: i7 8750H
  • メモリ: 32GB
  • ディスク: SSD 1TB
  • 解像度: 4K(3840x2160)タッチパネル
  • GPU: NVIDIA GeForce GTX 1050 Ti with Max-Q Design
  • 重量: 約1.8kg

重量は Macbook の約2倍となりました。

*1:USBファンで冷やしていたが、風きり音が入りそう。

*2:ちょこっと確認したいときに手元にあると楽です。

続きを読む

新サービスのオンボーディングを成功させるためにエンジニアが取り組んでいること

こんにちは!関西支店勤務の大西です。

私の役割は、新規事業開発室におけるエンジニアの責任者 兼 Bill Oneの開発リーダーです。今回のブログでは、Bill Oneの開発リーダーの立場から、オンボーディングを成功させるために取り組んでいることを記載させてもらいます。

Bill Oneとは

Bill Oneとは今年の5/11(月)に公開した新規事業で、ミッションは「あらゆる請求書をオンラインで受け取る」です。

サービスについては、以下を参照してください。
bill-one.com


Bill Oneの現在のフェーズは、ミッションに価値を感じ契約してくれた顧客に対して、オンボーディングを成功させるフェーズです。オンボーディングの成功定義はこのブログでは詳細には紹介出来ませんが、Bill Oneを業務利用してもらい、価値を体感してもらうことです。

続きを読む

AWS re:Invent 2019 にいってみた。(最終回)

こんにちは。
DSOC Infrastructure Groupの水谷です。

re:Invent 2019っていつだったっけ・・・・・
AWS re:Invent 2019 にいってみた。(2日目) - Sansan Builders Box が前回ですが、いきなり最終回です!
今回は re:Invent に行かれる方が参考になるような準備のことも書いていきます。
最後が一番大事なので最後にすっとんでくれても構いません。

話は変わりますが、私アフロヘアーなんです。
ただ、新型コロナウイルスの流行ででパーマネントがあてられず、ピース又吉さんが汚くなったみたいな髪型になってます。

で、髭剃りすると痛いじゃないですか。
朝から痛い思いをするのが凄くいやなので、なるべく髭そらない派です。
夜剃ればいいじゃん。と思うでしょうけど寝る前に痛いのも嫌。
なんで、髭って生えるんでしょうね。
脱毛すればいいじゃん。と、思うでしょうけどレーザーバチバチやられると聞いて痛そうなので嫌。
あと、髭の生え方が敬愛するのレミー・キルミスター*1と同じ生え方*2なので、そもそも嫌。

で、結果、すごい汚いです。

現在*3、弊社は在宅可能な状態で業務を行っているのですが、緊急事態宣言もあけたのでオフィスにいくこともあります。
ソーシャルディスタンスってあるじゃないですか、僕もそれなりに気をつけようと思って電車のったんです。
神奈川の山奥に住んでるので朝の電車は空いてるんですけど、車窓からの風景が変わるにつれて社内が混み合ってくるんですね。
座ってても隣に人がこないなぁ。みんな気をつけてるんだなぁって思ってたんですが、僕以外の人は隣に人が座ってるんですよ。

髭はそったほうがいいですよ。

*1:imotorhead.com

*2:ここまで濃くないけど

*3:2020/6/26 blog執筆時

続きを読む

「Go言語でつくるインタプリタ」をRustで実装しました。

はじめに

こんにちは。DSOC 研究開発部 Architect Group Data Direction Teamの有山です。
気温が上がってきて夏っぽくなってきましたね。毎年夏用にTシャツを集めるのが趣味なのですが、今年は個人的にブームが再燃してるGOODENOUGH*1を古着で集めようかなと考えています。

ところで皆さんは普段何の言語を書いていますか? Data Direction Groupでは主にPythonを使用していますが、ある時から四則演算の計算順序やif文の条件分岐はどうして正しく動くのだろうと疑問に思うようになり、実際に正しく動かしているシステムを理解してみたくなりました。色々検討した結果、「Go言語で作るインタプリタ」という本が内容的にも分量的にもちょうどよく、これを読み進めることにしました。

初めは読みながらコードを写経していましたが、複雑なロジックについては理解した気になってしまっていたので、いい機会と思いGo以外の言語でちょうど気になっていたRustで移植してみました。今回はインタプリタの実装や、Rustで実装する上でのポイントついて紹介していこうと思います。

*1:日本のストリートブランドで藤原氏がデザイナーを務めた。2017年で活動終了している。

続きを読む

© Sansan, Inc.