Sansan Tech Blog

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

%E6%AD%B4%E5%8F%B2%E3%82%92%E3%81%9F%E3%81%A9%E3%81%A3%E3%81%A6%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E3%82%92%E5%AD%A6%E3%81%B6 の検索結果:

歴史をたどってディープラーニングを学ぶ 第十九回 GPGPU入門 CUDAによる画像フィルタ編

こんにちはニューラルネット老人こと糟谷勇児です。 このようなブログをやっていてなんですが、私自身はほとんどディープラーニングを実務で使っていません。 ディープラーニングがはまるということは、学習データが豊富で、説明力はある程度弱くてもよく、GPUマシンを使っても元が取れるぐらいの価値がある案件です。このような場合、ディープラーニングを使おうが使うまいがある程度成功する案件ということになります。こういう案件なら若手に任せて、老人はみんながさじを投げた案件を頑張るのも役割分担かも…

歴史をたどってディープラーニングを学ぶ 第十八回 GPGPUを学ぶCUDA入門編

こんにちは、ニューラルネット老人こと糟谷勇児です。最近はメルカリでアンモナイトが入っている(かもしれない)北海道の石を買って化石発掘を子どもと一緒にやっています。 売っているアンモナイト化石はどれも立派なんですが、実際自分で掘ってみると1mmぐらいのアンモナイトとかもあったり、きれいに掘れなくてぶっ壊れたりしてリアル感があります。 化石もGPGPUも自分でやってみるとリアル感が分かっていいですね。そんなわけで今回もGPGPUをやっていきます。

歴史をたどってディープラーニングを学ぶ 第十七回 GPGPUを学ぶ準備編

こんにちは、ニューラルネット老人こと糟谷勇児です。以前化石集めが趣味という話を書きましたが、最近はコロナのせいかあまり新しい化石が流通せず、ちょっと退屈です。 そこでフローライトやラブラドライトなどのいわゆる天然石を集めています。それはそうと前回の予告通り、今回はGPGPUをやっていこうと思います。 前回はこちら。 buildersbox.corp-sansan.com

歴史をたどってディープラーニングを学ぶ 第十六回 これまでのまとめと、なぜ私はディープラーニングをつくれなかったか

こんにちは、ニューラルネット老人こと糟谷勇児です。Sansanに入社して5年が過ぎました。そういえば前職にいたときに隣の部署のマネージャーとこんな会話をしたことがありました。 「なんで学生時代(2004年当時)にニューラルネットの研究をしていたのに、私はディープラーニングをつくれなかったんですかね」 マネージャーの方は「当時はコンピューターの性能も低くて今みたいな計算ができないのは仕方ないんじゃないかな」 と返してくれましたが、どうにも腑に落ちませんでした。 当時だってスーパ…

歴史をたどってディープラーニングを学ぶ 第十五回 VGGにも使える高速化したコンボリューショナルネットのコードをGitHubで公開する

こんにちは、ニューラルネット老人こと糟谷勇児です。 在宅勤務になって通勤時間が減り、このブログにさける時間が増えるかと思いきや、 朝は子供を40分かけて幼稚園に送っていき、夜は子供を寝かしつけるのでニューラルネットをやる時間が激減しました。とはいえ今回も頑張ってアップしていきます。

歴史をたどってディープラーニングを学ぶ第十四回 C#で書かれたシンプルなコンボリューショナルネット(CNN)のコードをGitHubで公開してみる

こんにちは、ニューラルネット老人こと糟谷勇児です。前回はパーセプトロンのコードを紹介しました。 まあパーセプトロンは誰でもかけるし、ここからが本番。CNNのコードをアップしていきます。

歴史をたどってディープラーニングを学ぶ第十三回 コードをGitHubで公開してみる。パーセプトロン編

こんにちは、ニューラルネット老人こと糟谷勇児です。 今回はニューラルネット老人というよりGitHub老人というところでしょうか。というわけで今回はGitHubでニューラルネットのコードを公開していきます。C#でディープラーニングをしているプロジェクトってほかにあるのかなと調べたら、 github.com KelpNetというプロジェクトがありました。偉大な先人です。 じゃあもう公開しなくていいかな。でもたぶんやりたいことや目的が違うから参考になる人はいるのかなと思って公開して…

歴史をたどってディープラーニングを学ぶ第十二回 Global Average Poolingでついにパーセプトロンの面影をすべて失ったディープラーニングを学ぶ

こんにちは、ニューラルネット老人こと糟谷勇児です。今回はGlobal Average Poolingを学んでいきます。 Global Average Pooling層を入れると全結合層が要らないらしいぞと聞いて、思いは複雑です。 というのも、私が学生の頃に学んだバックプロパゲーションを用いたパーセプトロンは全結合層をSigmoid関数でつないだものでした。今や、SigmoidはReLUとSoftmaxになり、全結合層はコンボリューション層とPooling層だけになりと、ついに…

歴史をたどってディープラーニングを学ぶ 第十一回 VGGをC#で実装して学ぶ

こんにちは、ニューラルネット老人こと糟谷勇児です。 今回はVGGを自作して学ぼうと思います。しかし、ニューラルネットガチ勢からすると、ディープラーニングのフレームワークでいいですし、ゆるふわ勢もフレームワークでいいので、自作はどういう層に響くのでしょうか。 まあ、あまり気にせず今回もやっていきましょう。 VGG概要 VGGはオックスフォード大学のVGG(Visual Geometry Group)というチームが開発したニューラルネットです。VGGは2014年のこちらの論文にて…

歴史をたどってディープラーニングを学ぶ 第十回 AlexNetをデータオーギュメンテーションさせて学習させる。さらに高速化もしたよ

こんにちはニューラルネット老人こと糟谷勇児です。 2012年の技術に追いついたので現在は9年差、犬の年齢に例えると52歳ぐらいなので、そろそろ老人を脱却できるかもしれません。 www.ipet-ins.com今回はAlexNetをもう少し深堀りしつつ、今後の予定を考えていきます。 データオーギュメンテーションの導入 前回はAlexNetにデータオーギュメンテーションなしで学習させてみたところ、Le-Netと同じ7層のネットワークより精度が低いという結果になってしまいました。 …

歴史をたどってディープラーニングを学ぶ第九回 ついにAlexNetを実装して学ぶ

こんにちは、ニューラルネット老人こと糟谷勇児です。今回はついに!!!第二回で紹介した2012年の技術、AlexNetを学習させます。 ここまで長かったですね。これができればディープラーニングできたと言って過言ではないでしょう。これまでC#で作ってきたニューラルネットはある程度汎用的に作ってきたのですが、そうは言ってもAlexNetとして動かすといろいろ問題が出てくるだろうなと思っていました。 そして、いくつか問題が出てきましたが、何とか学習することができました。正直ここまで続…

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

こんにちは、ニューラルネット老人こと糟谷勇児です。今回はデータオーギュメンテーション(Data Augmentation)を見ていきます。データオーギュメンテーションは学習データを人工的に変えて水増しして学習させる技法です。画像なら縮小や回転、左右反転、平行移動などが行われます。今回はニューラルネット自体をいじらないので簡単そうですね。(実際はだいぶハマった)前回は、ソフトマックス層を実装しました。ソフトマックスはドラクエに例えるとチャモロという話をしましたが、データオーギュ…

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

こんにちは、ニューラルネット老人こと糟谷勇児です。 私はドラクエウォークという位置情報を使ったゲームをしています。 ウォークという名前ですが今回のウイルスの件で完全在宅ゲームになって歩く必要がなくなりました。ドラクエといえば、ストーリーの序盤で圧倒的な力で主人公たちを打ち砕く強大な敵を、中盤で成長した主人公が打ち倒す展開が熱いですよね。 代表的な敵としてはムドーとかゲマとか。ディープラーニング界のムドーはやはりAlexNetですかね。ブログ第二回で紹介してから、多層化、ReL…

歴史をたどってディープラーニングを学ぶ第六回 M対Nのコンボリューションでカラー画像を扱う

こんにちは、ニューラルネット老人こと糟谷勇児です。今回は色について考えていきます。 色を扱うのは難しい 画像認識といえば色の活用が重要そうですが、実際は一筋縄ではいきません。 私が新入社員だったころのことです。 中国人の先輩が画像検索エンジンを作っていました。その際、色は使用せず、輝度の変化のみを使用していました。 私は「色は使わないんですか」と尋ねたところ、「Color is artificial」という答えが返ってきました。 なるほど、色の見え方は人間とそれ以外の動物では…

歴史をたどってディープラーニングを学ぶ 第五回 LeNetは何を学習したのか

こんにちは、ニューラルネット老人こと糟谷勇児です。 最近、黄鉄鉱化したアンモナイトの化石を買ってみました。 化石は地面に埋まった骨や殻が、長い時間をかけて周りの地盤の成分に置換されていき、中身は元の成分ではなく、周りの成分に置き換わっているらしいです。 黄鉄鉱化したアンモナイトは黄鉄鉱に置き換わっているので、キラキラ金属質に輝いています。 しかし、パイライトディケイと言って、数年で酸化し風化してしまう運命だそうです。 その間にできるだけいろいろな人に見てほしいな、となんとなく…

たまには仕事に関係ないプログラミング教育活動、CoderDojoの運営について書いてみる

こんにちは、糟谷勇児です。 普段、ニューラルネットについてブログを書いたりしていますが、今回は私が地域活動として実施しているCoderDojoについて書いてみようと思います。

歴史をたどってディープラーニングを学ぶ 第四回 LeNetを作ってコンボリューショナルネットを学ぶ

こんにちは、DeepLearning老人こと糟谷勇児です。 会社では老人ですが、地域活動コミュニティでは若者扱いされギャップに驚いています。 そんなわけで今回もDeepLearningを学んでいきたいと思います。 前回はパーセプトロンを多層化することで画像認識の精度がちょっと上がるところを見てきました。 しかし、精度としてはまだまだ。 今回は畳み込み構造を持つコンボリューショナルニューラルネットを作って精度を上げていきたいと思います。 ところで、私が新卒で会社に入ったころは、…

© Sansan, Inc.