タグ

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

  • 表形式データに対する深層学習ライブラリの開発と実験 - Preferred Networks Research & Development

    記事は、2021年度PFN夏季インターンシップで勤務した平川雅人さんと畠山智之さんによる寄稿です。 はじめに 2021年度PFN夏季インターン生の平川雅人と畠山智之です。 今回のインターンでは、表形式データに対して様々な深層学習モデルを試すことができるライブラリを共同で開発しました。開発したライブラリは https://github.com/pfnet-research/deep-table で公開しています。 背景 近年、深層学習は画像や自然言語、音声の分野で目覚ましい成功を収めてきました。しかし表形式データに対しては、深層学習はそのような成功を遂げることは少なく、いまだにXGBoostやLightGBMのような決定木ベースのモデルが主流となっています。 深層学習の有望な手法として、決定木のアンサンブルを模倣して勾配ベースの学習を可能にしたNODE [1] や、スパースなattenti

    表形式データに対する深層学習ライブラリの開発と実験 - Preferred Networks Research & Development
  • Pythonのlinter/formatterを誰でも手軽に設定できるようにするためのPFN社内ツール “pysen” の紹介 - Preferred Networks Research & Development

    Home Blog Pythonlinter/formatterを誰でも手軽に設定できるようにするためのPFN社内ツール “pysen” の紹介 Python向けのlinter/formatter設定ツール「pysen」を pypi.org および github.com で一般公開しました。 このツールは主にPython向けのlinter/formatterの設定を一元管理し、Preferred Networks社内でよく使われているツール環境を誰でも簡単に設定できるように支援するツールです。チームごとに分散しうるようなツールに関するノウハウをコードとして集約し、PFN社内での共有を促進させることを目的として開発しています。pysenは実際にPFN社内で使われており、2020年4月に開発がスタートしてから、2021年3月現在でおよそ100を超える社内リポジトリに導入されています。 上図:

    Pythonのlinter/formatterを誰でも手軽に設定できるようにするためのPFN社内ツール “pysen” の紹介 - Preferred Networks Research & Development
    clavier
    clavier 2021/03/27
  • Preferred Networks におけるHadoop - Preferred Networks Research & Development

    Preferred Networks (以下PFN)では、「現実世界を計算可能にする」「全てのひとにロボットを」という目標のもと、機械学習を始めとしたあらゆる計算技術を用いて研究開発に日々取り組んでいます。その過程では必ずといっていいほど、データの保存や読み出しが必要になります。ここでは、我々がどのようにデータ管理をしているか、また、その過程でどのようにHadoopを利用しているかについて紹介したいと思います。 写真: PFNカラーリングのストレージサーバー Hadoop導入の経緯 Hadoopが多く利用されているようなログ分析や、エンタープライズ向けのETL処理やデータサイエンスに比べると、深層学習の分野でよく利用されているような規模のデータは比較的小さいです。よく画像認識のベンチマークとされるImageNetの2012年のコンペで利用されたデータセットは200GB程度です。これはそもそ

    Preferred Networks におけるHadoop - Preferred Networks Research & Development
    clavier
    clavier 2020/06/29
  • KubernetesのSchedulerを評価するためのシミュレーター「k8s-cluster-simulator」公開 - Preferred Networks Research & Development

    概要 2018年夏のインターンおよびPEとして勤務した薮内さんとそのメンターである谷脇、大村で開発したKubernetesクラスターのシミュレーターであるk8s-cluster-simulatorのアルファ版をオープンソースとして公開しました。このシミュレーターはKubernetesクラスタに投入されるPodのワークロードを時間とともにシミュレートできるため、Kubernetesのスケジューラーを番環境に投入する前に評価することができます。 開発の動機 PFNでは巨大なオンプレのGPUクラスタを持っており、その上でKubernetesを使って様々な実行時間の機械学習ジョブを研究者が実行しています。我々クラスターサービスチームのミッションの一つとして、GPUの利用率を向上させ費用対効果をあげることが挙げられます。一方で、研究者間で使えるリソースの平等さも考慮しなければなりません。これを実現

    KubernetesのSchedulerを評価するためのシミュレーター「k8s-cluster-simulator」公開 - Preferred Networks Research & Development
  • 専門知識の仕入れ方 - Preferred Networks Research & Development

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

    専門知識の仕入れ方 - Preferred Networks Research & Development
  • Go言語でのCI環境構築 - Preferred Networks Research & Development

    PFNの柏原です。Go言語製のソフトウェアのCI(Continuous Integration, 継続的インテグレーション)環境の構築方法(導入方法)について解説します。想定としてはgithub上にホストしているOSSプロジェクトのソースツリーをCIの対象とします。OSSのpublicリポジトリなため、無料で使えるサービスを利用対象とします。 紹介する各CIサービスすべてでGo言語を扱えますが、まず最初にサービスを利用する上で各サービスについて結論から述べます。その後、各CI環境(OS、Goバージョン)、設定ファイルの例を説明します。 今回はTravis CI、CircleCI、Codeship、AppVeyor の4つのサービスを紹介します。 結論から 結論から書きますと、Linux, OS X, Windowsの各種OSプラットフォームで同時にCIを動かしたいなら、Travis CI(

    Go言語でのCI環境構築 - 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
  • 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
  • 機械学習CROSSをオーガナイズしました - Preferred Networks Research & Development

    もう豆まきしましたか?比戸です。 1月17日に、エンジニアサポートCROSSで機械学習のセッションをオーナーとして主催させて頂きました。今回はその報告と内容のまとめをさせて頂きます。 エンジニアサポートCROSSは今年で3回目を迎える、主にWeb系のエンジニアが集まる技術イベントで、今年も800人以上が集まったそうです。すごいですね。 並列開催されるパネルディスカッションを基とするイベントで、有名なWeb関連サービスを持っているわけではないPFIの私がオーナーということで、持てる人脈をフル活用してパネリストをお願いしたところ、お声がけした方全員にご登壇いただけることになりました。 Yahoo!JAPAN研究所 田島さん 楽天技術研究所 平手さん ALBERT 小宮さん FFRI 村上さん 産総研 油井さん Gunosy 福島さん 大手Web企業から尖ったサービスの会社、アカデミア周辺まで

    機械学習CROSSをオーガナイズしました - 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
  • Tree Edit Distanceと自然言語処理への応用 - Preferred Networks Research & Development

    海野です。ちょっと時間があいてしまいましたが、昨年の12月に開催されたNTCIR-9という会議のRecognizing Inference in TExt (RITE)というタスクに、前職の方々と共著で出場しました。 Syntactic Difference Based Approach for NTCIR-9 RITE Task. Yuta Tsuboi, Hiroshi Kanayama, Masaki Ohno and Yuya Unno. NTCIR-9, 2011. [pdf] 含意関係認識といわれるこのタスクは、大雑把に言うと与えられた2つの文が同じ意味のことを言っているかどうか判定しなさいというタスクです(厳密には一方からもう一方が帰結できるかの判定です)。今日は、その中で使ったTree Edit Distance (TED) について解説します。 TEDは2つの順序付き木が

  • エラー処理を書いてはいけない - Preferred Networks Research & Development

    昨日セミナーとして USTREAM させていただいた資料を公開いたします。 エラー処理を書いてはいけない USTREAMのビデオ タイトルは釣り気味ですが、内容はいたって真面目なのでご安心ください。 概要 やってはいけないシリーズ、の第三弾としての試みです。 リソース管理をしてはいけない ロック処理を書いてはいけない エラー処理を書いてはいけない ← New! タイトルに反して(あるいはタイトル通りに)、正しく長時間動作するプログラムを書くには きちんとエラー処理を行う必要がありますが、 それを何とか抽象化しようという(Haskell界隈での)試みについてのご紹介でございます。 あまり他の人がこういうことを言っているのを聞いたことが無いので、 自分の日々考えていることを世に問うた形になっております。 実際のところ、社内ではC++がメインに使われておりますので、 こういう手法が用いられている

    エラー処理を書いてはいけない - 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
  • モダン並列・並行プログラミング ~ Concurrent Revisions による実装と現実 ~ - Preferred Networks Research & Development

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

    モダン並列・並行プログラミング ~ Concurrent Revisions による実装と現実 ~ - Preferred Networks Research & Development
  • 分散データベース「HBase」の安定運用を目指して - Preferred Networks Research & Development

    1年経ってiPhone4の電池がヘタってきた、太田です。 指数関数的にエントリ数が少なくなってきたブログですがw、景気付けのためにエントリを投稿したいと思います!日はHBaseについてです。 Linux と Hadoop と HBase と ZooKeeper に詳しいあなた!あなたがターゲットです。 HBaseとは? HBaseとは、HDFS (Hadoop Distributed File System)上に構築された分散データベースです。大量の非常に細かいデータをリアルタイムに読み書き出来るのが特徴です。最近ではFacebook Messageの基盤技術として使用された事で注目を集めています。 HBase公式サイト Apache HBase ブック 保存されたデータはHDFS上に保存され、HDFSの仕組みによってレプリケーションされるため安全にデータを保持することが出来ます。 ま

    分散データベース「HBase」の安定運用を目指して - 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
  • wat-array : wavelet木を利用した高速配列処理ライブラリ - Preferred Networks Research & Development

    こんにちは岡野原です。もう年末になりましたが、私の今年はこれからです。 wat-arrayというC++ライブラリを公開しました。 google code:wat-array wat-arrayはフリーソフトウェアであり、修正BSDライセンスに基づいて利用できます. wat-arrayはwavelet木と呼ばれるデータ構造を利用することにより、配列上の様々な処理を効率的に行うことができるC++ライブラリです。 例えば、 – 任意の連続した範囲内にある最大値 /最小値 / k番目に大きい値, またそれらの出現位置、頻度 – 任意の連続した範囲内にある指定した文字cの出現回数、c未満/より大きい文字の出現回数 – 任意の文字のi番目の出現位置 といったものを求めることが全て範囲長、入力長に対して定数時間で行うことができます。 例えば長さ10億、値の範囲が0から1000万であるような配列A中のA[

    wat-array : wavelet木を利用した高速配列処理ライブラリ - Preferred Networks Research & Development
  • 1