タグ

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

  • PFNが提供する教育コンテンツについて - Preferred Networks Research & Development

    PFNフェローの丸山(宏)です。2月にプログラミング教育についてのブログを書きました。またそれに合わせて制作した教材を利用して、6月に弊社カフェテリアで、小学生を対象にした体験教室を開催しました。この体験教室については、丸山(史郎)がロボットカーの体験教室について、西澤が火星語翻訳を題材にした教材について書いています。今回、山梨大学と共同で、高専・大学学部向けの教材 ロボットカーで学ぶ深層学習の基礎 を開発しました。このブログでは、これら一連の教育関連の活動について、その意義と全体像をもう一度整理してみたいと思います。 また、付録に、現在PFNが提供する教育用コンテンツのリストがありますので、そちらもご利用ください。 古典的プログラミング 2016年に文部科学省が主宰する「小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議」は、議論の取りまと

    PFNが提供する教育コンテンツについて - 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
    hiromark
    hiromark 2015/09/11
    へえ
  • 技術と時機 - Preferred Networks Research & Development

    2000年前後、クラウドという言葉が立ち上がった時、クラウドビジネスを立ち上げた企業の多くは失敗しました。 (例:opsware 彼らはその後システム運用ツール提供で生き残ることができました)。 クラウドという言葉はそれ以降あまり聞くことはなくなりました。2006年GoogleのErick Schmidtがクラウドという言葉を再登場させ、AmazonAWSを提供開始します。それ移行クラウドは爆発的に普及し、ITの戦場は全てクラウドに移行しつつあります。 (IBMですら、半導体部門を売却しクラウドに移行できるかに社運をかけています link) 自社運用やDC運用をしている企業もまだ多く存在しますが、パブリック・クラウドを利用している企業の競争力は増すため、今後10年ぐらいを考えるとパプリッククラウドの影響力はさらに増していくと考えられます。 IoTという言葉も1999年から存在します。私自

    技術と時機 - Preferred Networks Research & Development
  • 100倍で考える - Preferred Networks Research & Development

    私が最近強く印象に残った言葉が10倍で物事を考えるです[wired]。 これが私の記憶の中で拡大解釈され、今は100倍で物事を考えるようになっています。 「100倍」というのは一見すると不可能なことの例えのように思えますが、決してそんなことはありません。 どの程度現実的か例をあげて考えてみましょう。 DWH(DBと考えても良いです)という分野を考えてみます*1。 *1 この分野は専門家ではないのであくまで外から見ている素人の意見です。 2014年10月現在 Google BigQueryは1GBの保存に月あたり 約3円、クエリ時1TBスキャンあたり500円という価格設定です。基的なDBの操作は全部できて、その上でユーザーが自由に関数を定義できて、画面とつながって結果が数十秒で返ってきてです。これはこの分野を知る人にとっては衝撃的な価格です。 1昔前、DWHの世界では製品が数千万から数億円

    100倍で考える - Preferred Networks Research & Development
  • 技術を実用化する - Preferred Networks Research & Development

    論文の最後に「この技術はこれから様々な場面で役に立つだろう」と書いてあるのを読んだり、実際に書いた人がいると思います。研究者の視点からは「十年に一度のすごい発見が起きた」場面に出くわし、世の中にどのような影響を与えるのだろうと思うこともあります。しかし殆どの技術は世の中で活かされることはありません。なぜなら技術を実用化するには非常に多くの困難が必要とされるからです。 そもそも、殆どの技術は誕生したとしても人の頭に留まっています。ものすごくいい手法を思いついた、としてもそれを言語などで外在化させない限り、その技術がその人以上に世の中に広まることはありません。有名な例でBurrows-Wheeler変換という今のゲノムシーケンシングを支える技術はWheeler氏が「あまりにも当然である」ことから論文化していませんでした。Burrowsの勧めでこの技術はDECの社内報として発表され、現在のように

    技術を実用化する - Preferred Networks Research & Development
  • 文書解析のための簡潔データ構造 - Preferred Networks Research & Development

    岡野原です。 12/1〜12/2に高松で開催されたALSIP2011で文書解析のための簡潔データ構造の最近の進展について話をしてきました。 ここの業界の進展は速く毎年様々な方法が出てきますが、要点だけを上げると – Wavelet Treeがアルファベットサイズが大きい場合のRank/Select操作だけではなく、2D矩形探索、最頻要素列挙など様々な問題を効率的に解けることが分かってきて非常に重要なデータ構造であることが分かってきた。2D探索も、もはや数億 x数億とかでも解けてしまうので2D探索を利用するような様々な手法が全部現実的になった。 – Top-K Queryが盛り上がっている。検索などデータ構造に問い合わせをする際に、該当する結果を全部を列挙することの高速化は理論的にも難しいが、スコアが高い順(例えばterm frequencyやPageRankなど)にk個だけ列挙するだけなら

    文書解析のための簡潔データ構造 - Preferred Networks Research & Development
    hiromark
    hiromark 2011/12/03
  • 高速な安定ソートアルゴリズム "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
  • 単語と文字の話 - Preferred Networks Research & Development

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

  • 最近のtrieの話(xbwなど) - Preferred Networks Research & Development

    ブログの更新がとまっていましたが、また少しずつ更新してきたいと思います。 今回はtrie(トライ)の最近の話をしたいと思います。 trieはキー集合を扱うためのデータ構造の一種です。例えば、単語集合からなる辞書であったり、クロールしたURL情報を扱ったり、最近だと、KVS(Key Value Store)のようにキーを介してデータを保存、読み込みをしたりと様々な場面で利用されます。 同じようにキー集合を格納するデータ構造としてハッシュを利用する方法があります。キーからハッシュ値を計算し、その場所に文字列へのポインタを格納しておくデータ構造です。ハッシュを利用した場合とtrieを利用した場合の一番の大きな違いは、trieの場合だと、ある文字列から始まるキーを全て列挙する、いわゆる接頭辞探索ができることです。例えば”te”で始まる文字列を網羅的に調べることができます。木をたどって、”te”の下

    最近のtrieの話(xbwなど) - Preferred Networks Research & Development
  • 乱択アルゴリズム紹介(最小カット) - Preferred Networks Research & Development

    \(G\)のカット\(C \subseteq E\)とは、\(G\)から\(C\)を取り除くと、二つ以上(の連結成分)に分かれてしまうようなもののことを言います。特にカットの中で大きさが一番小さいものを最小カットと言います。恐らく具体例を見た方が良いと思いますので、下の図を見てください。 さて「\((s,t)\)-最小カット=\((s,t)\)-最大フロー」という有名な事実が有ります。今回の目的ではないので、余り深入りはしませんが、\((s,t)\)-最小カットとは、グラフ中の頂点\(s, t\)を分けるカットで最小のものを指し、\((s,t)\)-最大フローは\(s\)から\(t\)に流れる”フロー(流れ)”で最大のものを指します。 \((s,t)\)-最大フローを求める決定性アルゴリズム(乱数を使わないアルゴリズム)はよく研究されていて、今現在最速なものは\(O(nm \log(n^2

    乱択アルゴリズム紹介(最小カット) - Preferred Networks Research & Development
  • 分散並列環境における機械学習 - Preferred Networks Research & Development

    もうすぐ春ですね。花粉さえ飛ばなければ最高なのに。岡野原です。 先日、Hadoop Conference Japan 2011で、”MapReduceによる大規模データを利用した機械学習”というタイトルで発表しました。 発表内容は三部構成になっています。 最初に、機械学習の基と、それがMapReduceとどのような関係にあるかを紹介しました。その中でHadoop上で動く機械学習ライブラリMahoutの簡単な紹介をしました。 次に、機械学習の最前線ではどのような問題が解かれているかを紹介し、グラフィカルモデルの例、一般の最適化(教師付き学習におけるパラメータ学習)の分散並列化についての話題をしました。 最後に、MapReduceの補完として使えるようなシステムの例としてdremelを紹介しました。このシステムはMapReduceがバッチ型処理で、全データが処理対象の場合が得意なのに対し、一

    分散並列環境における機械学習 - 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
  • 乱択アルゴリズム紹介(3SATのO(1.334^n)時間アルゴリズム) | Preferred Research

    \(\mathcal{C} = (x \vee y \vee z) \wedge (\neg x \vee y \vee z) \wedge (y \vee \neg z \vee w)\). 上の例だと、例えば\(\alpha(x) = \mathrm{true}, \alpha(y) = \mathrm{true}, \alpha(z) = \mathrm{false}, \alpha(w) = \mathrm{false}\)とすれば全ての節を充足することが出来ます。 3SATはNP完全なので全てのNPに属す問題は3SATとして解けるのですが、そうでなくても多くの問題から”自然”に3SATが導出されます。なので3SATを解くアルゴリズムを考えましょう。一番自明なアルゴリズムは次のようになると思います。変数の数を\(n\)、節の数を\(m\)としましょう。

    乱択アルゴリズム紹介(3SATのO(1.334^n)時間アルゴリズム) | Preferred Research
    hiromark
    hiromark 2011/01/29
    ざーっと読んだけど興味深そう。
  • Googleの並列ログ解析向け言語「Sawzall」が公開されたので使ってみた | Preferred Research Blog

    Rapidly Realizing Practical Applications of Cutting-edge Technologies

    Googleの並列ログ解析向け言語「Sawzall」が公開されたので使ってみた | Preferred Research Blog
  • 1