タグ

ブックマーク / 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
  • 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
  • ニューラルネットの逆襲 - 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
    TYK
    TYK 2012/11/01
    ニューラルネットワーク
  • 数学に近い分野の情報収集 - Preferred Networks Research & Development

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

    数学に近い分野の情報収集 - Preferred Networks Research & Development
    TYK
    TYK 2012/05/08
  • 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
    TYK
    TYK 2012/03/31
  • CinderでiPadアプリを実装してみた - Preferred Networks Research & Development

    X’masが刻一刻と迫っています。祢次金です。 前回、「クリエイティブなC++ライブラリ “Cinder” の紹介」と題して、Cinderをご紹介しました。今回はそのCinderを使って、iPad上で動作するパーティクル生成アプリケーションを実装してみたいと思います。 前回同様、環境はMacOSXを想定し、iOS SDKのバージョンは4.2、iPadのiOSは4.2.1とします。 なお、旧バージョンのiOS SDKの場合、iPad simulatorではFrameworkのリンクに一部失敗しているようで、うまくアプリケーションが起動しませんでした。旧バージョンでビルドしたものでも実機では問題なく動作しますが、実装される場合は最新SDKの利用をおすすめします。 雛形の作成と修正 TinderBoxを使ってプロジェクトの雛形をつくります。名前を “TouchTest” とし、Targetは “

    CinderでiPadアプリを実装してみた - Preferred Networks Research & Development
    TYK
    TYK 2012/03/31
  • クリエイティブな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
    TYK
    TYK 2012/02/20
  • Androidで走るProcessingアプリケーション - Preferred Networks Research & Development

    今日は24 Season8 を徹夜で見ます。祢次金です。 前回、CinderでiPadアプリケーションを書きましたが、今回はJavaベースのProcessingを使ってAndroidアプリケーションを書いてみます。 環境構築 まだベータ版という位置づけですが、Android向けアプリケーションをつくることができるPDE(Processing Development Environment)が既に公開されており、こちらからダウンロードできます。 勿論Android SDKもインストールしておく必要があります。上記リンク先のInstructionに従い、必要なAPI Levelのコンポーネントを入れておきましょう。 PDEを起動するとおなじみのスケッチ画面が現れます。 メニューの「Android」から「Android Mode」を選択し、スケッチのモードを切り替えておきます。 あとはスケッチに

    Androidで走るProcessingアプリケーション - Preferred Networks Research & Development
  • 高速な安定ソートアルゴリズム "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
  • 専門知識の仕入れ方 - Preferred Networks Research & Development

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

    専門知識の仕入れ方 - Preferred Networks Research & Development
  • 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
    TYK
    TYK 2011/08/20
  • 単語と文字の話 - Preferred Networks Research & Development

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

    TYK
    TYK 2011/05/31
    自然言語処理
  • 1