タグ

ブックマーク / tech.preferred.jp (22)

  • 【ICLR2020採択論文】GANのなめらかさと安定性 - Preferred Networks Research & Development

    リサーチャーの南です。機械学習のトップ会議のひとつであるICLR2020に、2019年度PFN夏季インターンのCasey Chuさん、PFN技術顧問の福水健次教授と共同で書いた論文が採択されました。 Casey Chu, Kentaro Minami and Kenji Fukumizu. Smoothness and Stability in GANs. In International Conference on Learning Representations (ICLR), 2020, to appear. 論文リンク 記事では、上記論文の内容を簡単に紹介します。 背景: GANと安定化技術 周知のとおり、敵対的生成ネットワーク (GAN, [1]) はとても強力な生成モデルです。例えば、GANによって自然な高解像度画像を生成できることが知られています。下記は高解像度画像生成にお

    【ICLR2020採択論文】GANのなめらかさと安定性 - Preferred Networks Research & Development
  • Graph Neural Network を用いたグラフの木幅予測 - Preferred Networks Research & Development

    記事は、2019年夏のインターンシップに参加された中野裕太さんによる寄稿です。 皆様はじめまして。2019 年 PFN 夏季インターンシップに参加していた北海道大学の中野裕太です。ブログでは、私が夏季インターンで取り組んだテーマである、「Graph Neural Network を用いたグラフの木幅予測」について説明します。 要旨 与えられた無向グラフがどれくらい木に近いかを表す値である木幅は、グラフ上の組み合わせ最適化問題に対するアルゴリズムの効率性や解そのものと深く関係しています。しかし、木幅を計算することは NP 困難なため、木幅を計算するには頂点数に対し指数時間かかってしまいます。そこで、今回 Graph Neural Network を用いた 2 つの方法でこの問題にアプローチしました。1 つ目は、よく知られた既存のアルゴリズムと組み合わせ探索木の枝刈りを行い高速化を図り計算

    Graph Neural Network を用いたグラフの木幅予測 - Preferred Networks Research & Development
  • ハイパーパラメータ自動最適化ツール「Optuna」公開 - Preferred Networks Research & Development

    ハイパーパラメータ自動最適化フレームワーク「Optuna」のベータ版を OSS として公開しました。この記事では、Optuna の開発に至った動機や特徴を紹介します。 公式ページ 公式ドキュメント チュートリアル GitHub ハイパーパラメータとは? ハイパーパラメータとは、機械学習アルゴリズムの挙動を制御するパラメータのことです。特に深層学習では勾配法によって最適化できない・しないパラメータに相当します。例えば、学習率やバッチサイズ、学習イテレーション数といったようなものがハイパーパラメータとなります。また、ニューラルネットワークの層数やチャンネル数といったようなものもハイパーパラメータです。更に、そのような数値だけでなく、学習に Momentum SGD を用いるかそれとも Adam を用いるか、といったような選択もハイパーパラメータと言えます。 ハイパーパラメータの調整は機械学習

    ハイパーパラメータ自動最適化ツール「Optuna」公開 - Preferred Networks Research & Development
  • DNN推論用ライブラリ「Menoh」リリースについて - Preferred Networks Research & Development

    Python以外も使いたくないですか?  特にDeepLearning界隈で. Menoh開発者の岡田です.この記事ではMenohの紹介と開発に至った動機について説明します. Menohのレポジトリ: https://github.com/pfnet-research/menoh Menoh(メノウ)は学習済みのDNNモデルをONNX形式から読み込んで動作させる推論専用のライブラリです.実装はC++で書きましたが,C言語のインターフェースを持たせて,他の言語用からもその機能を呼び出しやすくしてあります.リリース時点でC++版ラッパーとC#版ラッパー,Haskell版ラッパーがあり,Ruby版ラッパーとNodeJS版ラッパー,Java(JVM)版ラッパーが開発中です.バックエンドにはIntelの開発しているMKL-DNNを採用し,GPUが無くてもIntel CPUが使える環境で高速にモデルの

    DNN推論用ライブラリ「Menoh」リリースについて - Preferred Networks Research & Development
  • ニューラルネットの逆襲から5年後 | Preferred Research

    私が2012年にニューラルネットの逆襲(当時のコメント)というのをブログに書いてからちょうど5年が経ちました。当時はまだDeep Learningという言葉が広まっておらず、AIという言葉を使うのが憚られるような時代でした。私達が、Preferred Networks(PFN)を立ち上げIoT、AIにフォーカスするのはそれから1年半後のことです。 この5年を振り返る良いタイミングだと思うので考えてみたいと思います。 1. Deep Learning Tsunami 多くの分野がこの5年間でDeep Learningの大きな影響を受け、分野特化の手法がDeep Learningベースの手法に置き換わることになりました。NLP(自然言語処理)の重鎮であるChris Manning教授もNLPで起きた現象を「Deep Learning Tsunami」[link] とよびその衝撃の大きさを表して

    ニューラルネットの逆襲から5年後 | Preferred Research
  • 分散深層学習パッケージ ChainerMN 公開 - Preferred Networks Research & Development

    Chainer にマルチノードでの分散学習機能を追加するパッケージ ChainerMN のベータ版を公開しました。 GitHub ドキュメント ChainerMN とは ChainerMN は Chainer の追加パッケージで、Chainer を用いた学習を分散処理により高速化できます。柔軟で直感的に利用できる Chainer の利便性をそのままに、学習時間を大幅に短縮できます。1 ノード内の複数の GPU を活用することも、複数のノードを活用することもできます。既存の学習コードから数行の変更で ChainerMN を利用可能です。ChainerMN は既に社内の複数のプロジェクトで実証が行われています。 Chainer を用いた通常の学習における 1 イテレーションは下図のように Forward, Backward, Optimize の 3 つのステップからなります。 Chainer

  • 深層強化学習ライブラリChainerRL - Preferred Networks Research & Development

    Chainerを使った深層強化学習ライブラリChainerRLを公開しました. https://github.com/pfnet/chainerrl PFNエンジニアの藤田です.社内でChainerを使って実装していた深層強化学習アルゴリズムを”ChainerRL”というライブラリとしてまとめて公開しました.RLはReinforcement Learning(強化学習)の略です.以下のような最近の深層強化学習アルゴリズムを共通のインタフェースで使えるよう実装してまとめています. Deep Q-Network (Mnih et al., 2015) Double DQN (Hasselt et al., 2016) Normalized Advantage Function (Gu et al., 2016) (Persistent) Advantage Learning (Bellemar

    深層強化学習ライブラリChainerRL - Preferred Networks Research & Development
  • 画風を変換するアルゴリズム - Preferred Networks Research & Development

    Deep Neural Networkを使って画像を好きな画風に変換できるプログラムをChainerで実装し、公開しました。 https://github.com/mattya/chainer-gogh こんにちは、PFNリサーチャーの松元です。ブログの1行目はbotに持って行かれやすいので、3行目で挨拶してみました。 今回実装したのは”A Neural Algorithm of Artistic Style”(元論文)というアルゴリズムです。生成される画像の美しさと、画像認識のタスクで予め訓練したニューラルネットをそのまま流用できるというお手軽さから、世界中で話題になっています。このアルゴリズムの仕組みなどを説明したいと思います。 概要 2枚の画像を入力します。片方を「コンテンツ画像」、もう片方を「スタイル画像」としましょう。 このプログラムは、コンテンツ画像に書かれた物体の配置をそのま

    画風を変換するアルゴリズム - Preferred Networks Research & Development
  • 分散深層強化学習でロボット制御 - Preferred Networks Research & Development

    新入社員の松元です。はじめまして。 “分散深層強化学習”の技術デモを作成し、公開いたしました。ロボットカーが0から動作を学習していきます! まずはこの動画を御覧ください。 以下で、動画の見どころと、使っている技術を紹介します。 動画の見どころ Car 0(○の付いている車)が右折カーブの手前で減速する様子(右画面の白いバーのところが、ブレーキのところで赤くなっている。ニューラルネットはブレーキが最も多く報酬が得られると推測していることがわかる)。速い速度ほど報酬は大きいが、カーブを曲がりきれず壁にぶつかってしまうので学習が進むとカーブ手前でのみ減速するようになる。 目の前に車がいるときは一時停止して、いなくなってから加速する。 エチオピアには当にこのような交差点があるらしい。 ぎりぎりですれ違う2台。学習途中ではすれ違いきれずにぶつかって倒れてしまうこともある(早送りシーン中に人が写って

    分散深層強化学習でロボット制御 - Preferred Networks Research & Development
  • Deep Learning のフレームワーク Chainer を公開しました - Preferred Networks Research & Development

    こんにちは、得居です。最近は毎晩イカになって戦場を駆けまわっています。 日、Deep Learning の新しいフレームワークである Chainer を公開しました。 Chainer 公式サイト GitHub – pfnet/chainer Chainer Documentation Chainer は、ニューラルネットを誤差逆伝播法で学習するためのフレームワークです。以下のような特徴を持っています。 Python のライブラリとして提供(要 Python 2.7+) あらゆるニューラルネットの構造に柔軟に対応 動的な計算グラフ構築による直感的なコード GPU をサポートし、複数 GPU をつかった学習も直感的に記述可能 ニューラルネットをどのように書けるか 次のコードは多層パーセプトロンの勾配を計算する例です。 from chainer import FunctionSet, Vari

    Deep Learning のフレームワーク Chainer を公開しました - Preferred Networks Research & Development
  • C++の行列ライブラリ Eigenの紹介 - Preferred Networks Research & Development

    C++で行列計算をする場合に便利なライブラリEigenを紹介したいと思います。 ベクトル・行列演算は知っているからEigenの使い方だけを教えてくれというかたは最初の章は読み飛ばしてください。 — 多くの統計処理がベクトル・行列演算を用いるとコンパクトに表すことが知られています。ちょっと複雑そうにみえる問題も整理してみるとベクトル・行列演算で書ける場合が多いです。(ベクトル・行列という言葉に抵抗がある方はそれぞれを単に配列、配列の配列とでも思ってもらえればいいでしょう)。ベクトルの内積は\(u^T v = u_1 v_1 + u_2 v_2 + \ldots +\)として求められ、ベクトルのノルムは自分自身のベクトルとの内積の平方根、\(|u| = \sqrt{ u^T u} \)として求められます(以降ベクトルは全て列ベクトルを指すとします)。 例えば、あるユーザーの商品の購買履歴は、\

    C++の行列ライブラリ Eigenの紹介 - Preferred Networks Research & Development
  • 第2回全脳アーキテクチャ勉強会でDeep Learningについて講演しました - Preferred Networks Research & Development

    得居です。1月30日にリクルートGINZA8ビルで開催された第2回全脳アーキテクチャ勉強会にて、Deep Learningについて講演しました。 全脳アーキテクチャ勉強会は「人間のように柔軟汎用な人工知能の実現に興味のある研究者、脳に興味のあるエンジニア,関連分野(神経科学、認知科学等)の研究者間での交流をはかりつつ、こうした取組へ関わるきっかけ」作りが目的の勉強会です。今回は主催者の一人である産総研の一杉裕志先生、筑波大学の酒井宏先生、そして私が講演を行いました。最終的な来場者数は把握しておりませんが、200名超の大規模な勉強会となりました。 私の発表は Deep Learning の最近の進展について、できるだけ幅広い学習手法やモデルを紹介する内容です。各手法の実際の成果がどうかというよりは、今後の研究の種になりそうな面白そうな話題を詰め込みました。発表後にも多数の質問を頂き、その後の

    第2回全脳アーキテクチャ勉強会でDeep Learningについて講演しました - Preferred Networks Research & Development
  • 劣微分を用いた最適化手法について(完) - Preferred Networks Research & Development

    もう2月ですが、新年明けましておめでとうございます。徳永です。残り11ヶ月、頑張ってまいりましょう。 前回までで、劣微分を使った最適化手法として劣勾配法やFOBOS, Truncated Gradientを紹介しました。 更新式を見るとわかるのですが、FOBOS/Truncated Gradientでは、前半でよく出現する要素に対して厳しく正則化がかかる一方、後半でよく出現する要素に対してはあまり正則化がかかりません。極端な例として、データの特徴となる要素が1回だけしか出てこない場合を考えましょう。ある要素が最初の1回にしかでてこなかった場合と、最後の1回にしか出てこなかった場合で、その重みを比較してみるとどうなるでしょうか? この結果を考えてみると、最初の1回にしか出てこなかった場合、ほぼ確実にその重みは0になってしまいますが、最後の1回に出てきた場合にはそこそこ大きな重みが残ることがわ

    劣微分を用いた最適化手法について(完) - Preferred Networks Research & Development
  • 劣微分を用いた最適化手法について(3) - Preferred Networks Research & Development

    進撃の巨人3巻が11月に発売されるものと勘違いして屋を探し回っていましたが、発売日は12月9日でした。徳永です。 前回は、確率的勾配降下法(SGD)について説明しました。今回はいよいよ、劣微分を用いた最適化手法に付いての説明をおこないます。 前回の復習 前回は、最大エントロピーモデルによる線形識別器の学習方法について説明し、最後に正則化について紹介しました。正則化については重要性を主張しきれていなかった気がするので、もう一度過学習と正則化について説明しておきたいと思います。 前回、間違いは少ないほうがいいよね、というような話をしましたが、間違いには2種類あります。一つは既知のデータに対する間違いの多さで、もう一つは未知のデータに対する間違いの多さです。既知のデータに対する間違いを経験損失と言い、未知のデータに対する間違いを期待損失、もしくは汎化誤差と言います。(間違いと損失はちょっと違い

    劣微分を用いた最適化手法について(3) - Preferred Networks Research & Development
  • PFIセミナーでテンソルについて話しました - Preferred Networks Research & Development

    はじめに 大野です。先日PFIセミナーでテンソルについてお話をしたので、それの宣伝を行いたいと思います。当日の様子は以下のリンクから閲覧できます:PFIセミナー(ustream)。また、スライドはSlideShareで公開しています PFIセミナーとは毎週木曜日の19:10ごろから行なっている公開社内セミナーです。週替わりで社員が興味を持っている分野について30分から1時間程度でプレゼンを行なっています。内容は技術的な内容(入門からディープなものまで)もありますが、それだけに限らず、契約、組織論、マネジメントなどの話も過去に行ったことがあります。セミナーの様子は録画しており、ustream上でのPFIのページで公開しています。今回自分に順番が回ってきたので、数学の道具の一つであるテンソルをテーマにお話をしました。 セミナーの内容 話した内容は次の通りです テンソルはベクトルや行列を一般化し

    PFIセミナーでテンソルについて話しました - Preferred Networks Research & Development
    petite_blue
    petite_blue 2012/11/21
    任意のランクのテンソルを対称テンソルと反対称テンソルの和に分解する。ヤング図形を利用する。
  • ニューラルネットの逆襲 - Preferred Networks Research & Development

    岡野原です。Deep Learningが各分野のコンペティションで優勝し話題になっています。Deep Learningは7、8段と深いニューラルネットを使う学習手法です。すでに、画像認識、音声認識、最も最近では化合物の活性予測で優勝したり、既存データ・セットでの最高精度を達成しています。以下に幾つか例をあげます。 画像認識 LSVRC 2012 [html]  優勝チームスライド [pdf], まとめスライド[pdf] Googleによる巨大なNeuralNetを利用した画像認識(認識として有名)[paper][slide][日語解説] また、各分野のトップカンファレンスでDeep Learningのチュートリアルが行われ、サーベイ論文もいくつか出ました。おそらく来年以降こうした話が増えてくることが考えられます。 ICML 2012 [pdf] ACL 2012 [pdf] CVPR

    ニューラルネットの逆襲 - Preferred Networks Research & Development
  • MinHashによる高速な類似検索 - Preferred Networks Research & Development

    年が明けてもう一ヶ月経ちましたね.岡野原です. 今日はMinHashと呼ばれる手法を紹介します.これは特徴ベクトルの高速な類似検索に利用することができます(クローラーの文脈だとShingleとして知られている). 今や世の中のあらゆる種類のデータが,高次元のバイナリベクトルからなる特徴ベクトルで表されて処理されるようになってきました.例えば文書データであれば文書中に出現する単語やキーワードの出現情報を並べた単語空間ベクトル(Bag of Words)で表し,画像データも,SIFTをはじめとした局所特徴量を並べた特徴ベクトル(とそれをSkecth化したもの)として表せます.行動情報や時系列データも特徴量をうまく抽出する.グラフデータもFast subtree kernels[1]と呼ばれる方法で非常に効率的に特徴ベクトルに変換することができ,グラフの特徴をよく捉えることができるのが最近わかっ

    MinHashによる高速な類似検索 - Preferred Networks Research & Development
  • Jubatusを公開しました - Preferred Networks Research & Development

    先日、NTTと共同研究開発したJubatusを公開しました。 OSSで公開されてますので、興味がある方は使ってみるなり、ソースコードを眺めるなり、できればプロジェクトに参加していただけたらと思います。 Jubatus(ユバタス)は、大規模分散上でリアルタイムで機械学習を行うためのフレームワークです。 このプロジェクトは元々、機械学習やデータ解析が好きなPFIと、ネットワークやシステム運用実績が豊富で技術力があるNTT情報流通プラットフォーム研究所と組んで何かできないかということで始めました。 「大規模分散」+「リアルタイム」+「深い解析」という三つの特徴を持った上でデータを分析するためにどのようなアーキテクチャが考えられて、その上でどのような解析ができるのかというのを日々試行錯誤して作っています。 今回はリリース第1段ということで、手法としては分類(教師有学習の多クラス分類)に絞ってOSS

    Jubatusを公開しました - Preferred Networks Research & Development
  • 最近傍探索2011 - Preferred Networks Research & Development

    こんにちは、二台目のmbaを買うのをためらっている岡野原です。 アイテム集合に対し、与えられたアイテムと似ているアイテムを求める、という近傍探索問題は古典的な問題でありながら、現在でも多くの改善がされています。特に言語情報、画像情報、行動履歴情報、生物情報、購買情報などありとあらゆるデータが高次元中の点として表現されるようになってきており、こうしたデータの最近傍探索は広い分野で応用範囲がある技術になっています。 アイテムが低次元(例えば2, 3次元)の場合はkd木や最近だとwavelet木を使う方法がありますが、今回扱うケースは各アイテムが高次元(数百万次元)中の点であったり、アイテム間の距離のみが定義されている場合(カーネル関数など)です。アイテム数は数万から数億ぐらいを想定しています。 最近傍探索問題はいくつかありますが、例えばk近傍グラフ構築問題では、 「アイテム集合X = x1,

    最近傍探索2011 - Preferred Networks Research & Development
  • クリエイティブなC++ライブラリ "Cinder" の紹介 - Preferred Networks Research & Development

    こんにちは、人恋しい季節になってきましたね。 研究開発チームの祢次金(@nejigane)と申します。 エントリではCinderというクリエイティブなコーディング向けのライブラリについてご紹介したいと思います。 Cinderとは Cinderとは、画像、音声、動画等を簡単に処理&可視化できる、主にビジュアルデザイン向けの強力なC++ライブラリであり、The Barbarian GroupのAndrew Bell氏が中心となってオープンソースとして開発が進められています。 同様の思想を持つProcessingやopenFrameworksによく似ており、C++で簡単に記述できるうえ、WindowsMacOSX、iOS(iPhone/iPad)といった複数のプラットフォームをカバーしています。 細かい機能/特徴の紹介は家サイトに譲るとして、Cinderを極めるとどのぐらいクリエイティブな

    クリエイティブなC++ライブラリ "Cinder" の紹介 - Preferred Networks Research & Development
    petite_blue
    petite_blue 2010/11/28
    便利そう