【2019年新卒入社】株式会社ALBERTに入社しました

こんにちは。2019年4月に新卒として入社した本山理梨子です。

りこぴんと呼ばれている人です。

入社前後のあれこれについて書きます。

入社動機

そもそも、ALBERTに興味を持ったのは、インターンがきっかけでした。

機械学習分野は専門ではなかったのですが、研究の中でデータを収集し、統計的に処理することが多くあったため、もともとデータサイエンティストの仕事に興味を持っていました。

修士1年の冬ごろ、研究と並行して就活を進める中、「機械学習 インターン 有給」みたいな雑なキーワードで検索していたところ、たまたまALBERTを見つけました。

当初、「あまり規模も大きくないし、どんな会社なんだろう?」となんとなく様子を見るつもりで面接に行ったのを覚えています。

しかし、実際に社員の方々と話してみると、想像以上に自分の研究の話を深く掘り下げて丁寧に聞いてくださった上に、社員の方々の技術レベルも高く、「ちゃんとした会社だ!」と感じることができました。

そのまま、インターンに参加しました。
続きを読む 【2019年新卒入社】株式会社ALBERTに入社しました

2019年新入社員入社式を開催いたしました

こんにちは。採用担当の山内です。

 

年度初めの4月1日、2019年新入社員入社式を開催いたしました。

 

ALBERTは新たに14名の仲間が加わり、新卒採用としては昨年の採用数を上回り

過去最高人数となりました。

新オフィス移転後初の入社式は執務エリアを見渡せる開放的なセミナルームで実施しました。

新卒社員、社長、執行役員陣揃っての記念撮影

新たに14名の仲間を迎え、従業員一同身が引き締まる思いです。

続きを読む 2019年新入社員入社式を開催いたしました

東海支社開設記念パーティーを開催しました

先日、名古屋ルーセントタワーにて、中京圏で事業を展開するお客様や人材紹介会社の方々をお招きし、東海支社開設記念パーティーを開催いたしました。

創業から13年半、東京のみで全国のお客様を対象に業務を行なってきたALBERTにとって、東海支社ははじめての東京以外の拠点となります。中京圏において、プロジェクトの円滑な遂行・データサイエンティストの採用を担ってまいります。

パーティーは、この日のために作成したオリジナルムービーで始まりました。
ムービーでは、事業の紹介はもちろん、近頃のトピックもいくつかご紹介しました。
こちらは、前回のブログでも紹介した移転したばかりの、東京にある本社の様子です。

4月に正式開設する東海支社は一体どのようなオフィスになるのでしょうか?楽しみです。

本日は、開設記念パーティーの様子をちょっぴりご紹介いたします。

続きを読む 東海支社開設記念パーティーを開催しました

多数のデータサイエンティストが働くALBERTの新オフィス!新宿フロントタワーに移転しました

約4年間お世話になった新宿野村ビルへと別れを告げ、先日、新宿フロントタワーに本社移転いたしました。
今回のオフィス移転はデータサイエンティストの増強およびセキュリティ強化を目的としており、将来にわたるデータサイエンティストの増員に備えるため、広さはなんと2倍強に。

本日は、出来立てほやほやの新オフィスをご紹介いたします。

続きを読む 多数のデータサイエンティストが働くALBERTの新オフィス!新宿フロントタワーに移転しました

【ALBERT社員総会】過去最多、180名超えの懇親会

先日、雲ひとつない快晴のなか、すでにクリスマスムードが漂っているハイアットリージェンシー東京にて、2018年度ALBERT社員総会を行いました。


第一部では、スクール形式で正社員の研修を、第二部では、ディナー形式で従業員懇親会を実施いたしました。本日はその様子をご紹介いたします。

続きを読む 【ALBERT社員総会】過去最多、180名超えの懇親会

2019年度卒内定式を開催いたしました

こんにちは。人事の山内です。

10月1日(月)に内定者の皆さんをお迎えし、2019年度内定式を開催いたしました。
前日はあいにくの天候でしたが、当日には天候も回復し、全員出席。
今年度もその様子をご紹介いたします!
内定式ではまずALBERT経営陣より祝辞を述べました。

続きを読む 2019年度卒内定式を開催いたしました

ニューラルネットの新しい正規化手法 Group Normalization の高速な実装と学習実験

今年 1 月に ALBERT に入社した清水です。深層学習プログラマとして自社プロダクト開発をしております。このブログを書くのは始めてなのですが、今日はちょっとプログラミング寄りの記事を。残暑厳しい折ですが、実装の詳細にまで立ち入りつつアツく Yuxin Wu および Kaiming He の考案した手法 Group NormalizationECCV 2018 採択済)について語ります。Kaiming He 氏は ResNet を筆頭に優れた convolutional neural networks (CNN) の設計で知られていることもあり、みなさんも注目している手法ではないでしょうか?

Chainer v5.0.0b4 を用いて、Chainer に入っている実装と弊社の独自実装での速度比較、また Batch Normalization との速度・精度比較を行いました。その上で、速度差が生じる原因の調査や CUDA を使った高速化の工夫について詳しく記します。ソースコードは MIT ライセンスで GitHub に公開していますので、ぜひご覧ください。

Group Normalization って?

Group Normalization の発想はシンプルです。早速ですが、Group Normalization を端的に表す図(論文 Figure 2 より引用)を見てみましょう。

Batch Normalization, Layer Normalization, Instance Normalization, Group Normalization の図示

(N, C, HW) の 3 次元からなる多次元配列が出てきましたが、これは CNN の中間層の出力だと考えると想像しやすいかと思います。バッチサイズ N, チャンネル数 C, 画像の縦幅 H, 画像の横幅 W です。

図に示された Batch Normalization, Layer Normalization, Instance Normalization およびこの記事の本題 Group Normalization の 4 つの手法は、いずれも青色で示された領域ごとに算出される平均・分散によって入力を正規化 (normalize) します。Batch Normalization が各チャンネルごとに平均・分散を求めることは有名ですね。精度・収束性を劇的に向上させる Batch Normalization は今や CNN のデファクトスタンダードですが、しかし

  • 画像の解像度が大きくてメモリが不足するなどの理由でバッチサイズが小さくなる場合に、平均・分散の推定が不安定になり学習ができなくなる
  • 複数 GPU にまたがって平均・分散を推定することで実質的なバッチサイズを増やすことは可能だが、高価なハードウェアが必要になる上に実装や最適化が複雑
  • ビデオの隣接フレームといった相関がある画像をミニバッチとして入力する場合も平均・分散の推定が不安定になる
  • 学習時に平均・分散の移動平均を覚えておいて推論時に用いるといった処理が煩雑
  • Finetune 時に移動平均をどう扱うべきかよくわからない

といった難点も併せ持っており、いつでも使えるわけではありません。このためミニバッチに依存しない正規化手法が待ち望まれていました。

そのような手法として、全チャンネルにまたがって平均・分散を取る Layer Normalization と、各チャンネル独立に画像の縦横方向についてのみ平均・分散を取る Instance Normalization が考案されました。とはいえ十分にバッチサイズが確保されている条件下での精度は Batch Normalization に比べてかなり劣っており、主流とはなっていません。

そこで登場したのが Group Normalization です。チャンネルを G 個にグルーピングして Layer Normalization と Instance Normalization の中間的な処理を行うことで、画像分類などのタスクで Batch Normalization に匹敵する精度を実現しました。グループ数 G を 32 にした場合がベストだったと論文に述べられていますが、それほど G の値に対して敏感ではないようです。Group Normalization の論文では、Instance Normalization には複数のチャンネルの組み合わせによって表現される特徴を歪めてしまう問題があると考察されています。その対極になるのが Layer Normalization ですが、こちらは大域的すぎて、特に重要ではないチャンネルが画像全体にわたって高い値を示した場合に他の全てのチャンネルが抑制されてしまいます。中間的な Group Normalization は良いとこ取りをできるというわけです。

なんだか素晴らしそうですね。Chainer では v5.0.0b3 から Group Normalization がサポートされているのでお手軽に使えます。しかし、本当に Batch Normalization をドロップインで置き換えて精度低下は起きないのでしょうか? Batch Normalization と同等の速度で動作するのでしょうか? この疑問を検証します。

結論から言えば、Batch Normalization を単に Group Normalization に置き換えるだけでは精度がかなり落ちてしまいました。なので Group Normalization を使う場合は精度の確認やパラメータチューニングをきちんとやるべきでしょう。また、Chainer v5.0.0b3 に追加された Group Normalization の実装はあまり効率的ではなく、CNN 全体の実行速度を大きく下げてしまうことがわかりました。この原因や、より効率のいい実装方法についても詳述します。

続きを読む ニューラルネットの新しい正規化手法 Group Normalization の高速な実装と学習実験

データサイエンティスト新卒研修レポート

こんにちは。
2018年4月に新卒としてALBERTに入社した、データソリューション部の羽山です。

入社式から、早3ヶ月が経ちました。
ALBERTでは入社式のブログでお伝えしたように、ALBERTに在籍している100人のデータサイエンティストのノウハウを活用した2ヶ月のデータサイエンティスト技術研修が新卒社員に対して行われます。

本記事では入社後2ヶ月間に渡って受講したデータサイエンティスト研修の内容についてご紹介します。

続きを読む データサイエンティスト新卒研修レポート

2018年度新入社員入社式を開催いたしました♪

こんにちは。人事の亀岡です!

暖かい日が続き、春本番ですね。
年度初めの4月2日、2018年度新入社員入社式を開催いたしました★

ALBERTは新たに12名の仲間が加わり、新卒採用としては過去最高人数。
式典を行った会議室も満員で、身の引き締まる思いでした・・・!


続きを読む 2018年度新入社員入社式を開催いたしました♪