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

  • 画風を変換するアルゴリズム - 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
    mizunasi
    mizunasi 2015/09/10
  • 分散深層強化学習でロボット制御 - Preferred Networks Research & Development

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

    分散深層強化学習でロボット制御 - Preferred Networks Research & Development
    mizunasi
    mizunasi 2015/06/11
  • 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
    mizunasi
    mizunasi 2015/06/09
  • オンライン機械学習(機械学習プロフェッショナルシリーズ第1期)発売のお知らせ - Preferred Networks Research & Development

    お久しぶりです。徳永です。 講談社からオンライン機械学習というタイトルのが出版されます。著者はPreferred Infrastructure/Preferred Networksの海野, 岡野原, 得居, 徳永の4人です。 機械学習の中でもオンライン機械学習に特化したで、単純パーセプトロンから始まり、Passive Aggressive, Confidence Weighted, AROW, Soft Confidence Weightedなど(Passive Aggressive, Confidence Weighted, AROWは分散オンライン機械学習フレームワークJubatusでも実装されています)についてアルゴリズムの概要を説明したり、リグレット解析による性能解析について説明しています。また、分散環境でのオンライン機械学習や、深層学習での応用、効率的な実装方法など、応用的な

    オンライン機械学習(機械学習プロフェッショナルシリーズ第1期)発売のお知らせ - Preferred Networks Research & Development
    mizunasi
    mizunasi 2015/04/07
  • ニューラルネットの逆襲 - 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
    mizunasi
    mizunasi 2012/11/02
  • 数学に近い分野の情報収集 - Preferred Networks Research & Development

    はじめに 大野です。今回は数学に関する情報入手方法について、自分が知っている範囲でお話をしようと思います。特に4月に大学や大学院に入学した方や、数学の勉強を始めたいけれど何から始めればよいかわからないという方などを想定して紹介していこうと思います。 数学に限らないかもしれませんが、勉強をしようとすると解決すべき問題が色々と生じます。 そもそも文献(・講義録・雑誌)はどこにあるのか 文献はあるけれど、どれから調査・勉強を始めればよいか 勉強を始めたけれどわからなすぎる。誰かに質問したいけれどどこで聞けば良いのだろうか 以下では大体この流れに沿って情報源などを紹介していこうと思います。 文献を探す 図書館 私の地域の公共図書館は比較的数学が充実しており、数学もよく借りています。どの分野でも専門書は通常のよりも高額で、購入するのに躊躇するかもしれません。ですので、まず試しに図書館

    数学に近い分野の情報収集 - Preferred Networks Research & Development
    mizunasi
    mizunasi 2012/05/09
  • 高速な安定ソートアルゴリズム "TimSort" の解説 - Preferred Networks Research & Development

    先日、TimSortというソートアルゴリズムが話題になりました。TimSortは、高速な安定ソートで、Python(>=2.3)やJava SE 7、およびAndroidでの標準ソートアルゴリズムとして採用されているそうです。 C++のstd::sort()よりも高速であるというベンチマーク結果1が話題になり(後にベンチマークの誤りと判明)、私もそれで存在を知りました。実際のところ、ランダムなデータに対してはクイックソート(IntroSort)ほど速くないようですが、ソートというシンプルなタスクのアルゴリズムが今もなお改良され続けていて、なおかつ人々の関心を引くというのは興味深いものです。 しかしながら、オリジナルのTimSortのコードは若干複雑で、実際のところどういうアルゴリズムなのかわかりづらいところがあると思います。そこで今回はTimSortのアルゴリズムをできるだけわかりやすく解

    高速な安定ソートアルゴリズム "TimSort" の解説 - Preferred Networks Research & Development
    mizunasi
    mizunasi 2011/10/27
  • モダン並列・並行プログラミング ~ Concurrent Revisions による実装と現実 ~ - Preferred Networks Research & Development

    日社内向けのTechTalkにて、並列・並行プログラミングに関する話を行いました。 昨今、プログラムの並列化はなくてはならないものとなっています。しかし、そのプログラミング環境は依然としてロックを用いたものが主流です。今回の発表の主張を端的に申し上げますと、 “Locks must go!” ということになります。並列プログラミングに銀の弾丸はありません。しかし、ロックは別の何らかの安全性を確保したプログラミングモデルで置き換えられなければいけません。そうでなければ、再現しにくいバグに苦しめられ、終電を逃す日々と決別することはできないでしょう。また、ロックによるプログラミングの抱える質的問題にも言及しています。 この界隈の最新の動向として、去年OOPSLA’10にて発表されたConcurrent Revisionsについての解説も行なっております。また、弊社研究開発において、先日Con

    モダン並列・並行プログラミング ~ Concurrent Revisions による実装と現実 ~ - Preferred Networks Research & Development
    mizunasi
    mizunasi 2011/10/20
  • 専門知識の仕入れ方 - Preferred Networks Research & Development

    今日は,普段どのようにして専門知識を仕入れているかについて書いてみようと思います.特に自分が得意でない分野を知りたいと思った時に,どうするかに注目したいと思います.自分の専門の場合は,いくらでも時間を注ぐことが出来るので,世界中のリソースを全て探し当てて勉強すれば良いのですが,ちょっと興味が有るぐらいではそこまでやる時間は取れません.なので出来るだけ効率的に分かった気になるのが目標です. まず,論文を直接読むのはあまり効率的では無いと思います.論文は広い分野の中の或る問題に対して一つの解決方法を書いているだけで,分野全体を俯瞰することは目指していません.論文だけ読んで分野全体を理解するには,最低50ぐらい読む必要が有ると思います.

    専門知識の仕入れ方 - Preferred Networks Research & Development
    mizunasi
    mizunasi 2011/09/18
  • twitterで自然言語処理 - Preferred Networks Research & Development

    勢い余ってスイカを買ったら、毎日べるハメになってしまいました。海野です。 どんな業界もそうだと思いますが、世の中の流行りものの論文が増えるという面が自然言語処理界隈にもあります。Web、blog、と来て、最近のトレンドはやはりtwitterに代表されるmicro blogでしょうか。今年の言語処理学会の年次大会でtwitterセッションは大盛況でしたが、国際会議でもtwitterを題材として発表が増えています。 数えてみたら、重要国際会議であるACLで6件、EMNLPでも3件、twitterをタイトルに含む発表が今年ありました。ちなみに2010年の会議では1件もありませんでした。そんなわけで、私も今日はそんな流行りに乗っかって、twitter言語処理関連の論文を3つ紹介します。 Cooooooooooooooollllllllllllll!!!!!!!!!!!!!! UsingWord

    twitterで自然言語処理 - Preferred Networks Research & Development
    mizunasi
    mizunasi 2011/08/21
  • dag_vector: ランダムアクセス可能な圧縮配列 - Preferred Networks Research & Development

    こんにちは、この夏はシルキードライで乗り切りたい岡野原です。 今日は最近公開したC++のオープンソースであるdag vectorについて紹介します。 github: dag_vector ライセンスは修正BSDライセンスです。 dag vector (direct accessible gamma code vector) は値を圧縮して格納したまま任意の場所の値を高速に参照可能な配列ライブラリです。しかもデータ末尾への追記が可能です。 dag vectorはstd::vectorのように利用できます。下にいくつか例を見ていきましょう。 dag_vectorの例 #include "dag_vector.hpp" // dag_vectorは0以上の正整数の配列を扱う配列。 dag_vector dv; // 値はいつでも追加可能。追加された値は圧縮して格納される // 正整数xは2lg(

    dag_vector: ランダムアクセス可能な圧縮配列 - Preferred Networks Research & Development
    mizunasi
    mizunasi 2011/06/26
  • 単語と文字の話 - Preferred Networks Research & Development

    4月からPFIで働いてます。海野です。 今日は単語の話をします。読み物的な話なので軽く読んでください。 テキストデータなどの自然文を機械処理するときには、まず最初に単語に分割するということをよく行います。一般的にはMeCabやChasenといった形態素解析エンジンに投げて行います。形態素と単語の区別という話もあるのですが、ここでは大雑把に「連続した文字列の単位」くらいの意味で話します。 検索という文脈ですと形態素インデックスという言葉がありますが、これは検索の最小単位を文字単位ではなくて形態素の単位にするということです。例えば「東京都」は「東京」「都」に分かれるため、「京都」というクエリに対して見つかるのを防ぐなど、精度を上げる効果があります。反面、深刻な検索漏れを引き起こす可能性があるため嫌われることが多いです。こうした漏れは検索に限らず、テキストマイニングなどの文脈でも問題となることが

    mizunasi
    mizunasi 2011/05/30
  • 1