タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

*algorithmと*programとpythonに関するsh19910711のブックマーク (240)

  • Facebookの高速ベクトル計算ライブラリfaissをレコメンドAPIに使ってみる - Qiita

    関。関連。関連といえばレコメンドですね。 というわけで今回はレコメンドエンジンに利用できそうな技術を紹介します。 MF系アルゴリズムの動的スコア計算 リブセンスでは以前から機械学習を用いたレコメンドエンジンを開発・運用しています。 ユースケースによりけりですが、最近ではMatrix Factorization(MF)系のアルゴリズムの利用が盛んです。 Non-negative matrix factorization - Wikipedia MFでは生成したユーザ・アイテムのベクトルの内積としてレコメンドのスコアを求めますが、ユーザやアイテムの数が多い場合、全てのユーザ×アイテムの組合せについてスコアを事前計算すると保持するデータサイズが非常に大きくなってしまいます。 このような場合はユーザ・アイテムのベクトルを別個に保持し、入力に応じて動的にスコア計算とソートを行ってレコメンド結果を返す

    Facebookの高速ベクトル計算ライブラリfaissをレコメンドAPIに使ってみる - Qiita
  • QUBOを使って日本地図の彩色問題やってみた - Qiita

    量子アニーリングをする場合、QUBOというものを作って、それをイジング模型に変換することが多いようです。 日地図を四色に塗り分けるためのQUBOを作って、古典アニーリングをやってみた話をします。 #量子アニーリング? 組み合わせ最適化問題を解く確率的アルゴリズムの一種です。 解きたい問題をイジング模型という強磁性体を模したモデルに置き換えて、量子的な効果を含む項を付け加えてコンピュータでシミュレーションすれば、ある種の問題でよい結果が得られる、という論文が昔にあったようです。 これが元々の量子アニーリングです。当時は、量子コンピュータで解くといった話は無く、普通のコンピュータで解くアルゴリズムでした。 ところが、ある日、D-Waveという会社が、実機を使って高速にイジング模型を解く機械を作ってしまいました。 量子アニーリングをする専用機ができてしまったわけですね。 実は、普通に古典コンピ

    QUBOを使って日本地図の彩色問題やってみた - Qiita
  • 転職してからやってること - 兼雑記

    転職してからやってるプロジェクトについて何か書いてみようかと思います。 https://github.com/pfnet-research/chainer-compiler/ 公式ぽいブログも書きました。 https://research.preferred.jp/2019/01/chainer%E3%83%A2%E3%83%87%E3%83%AB%E3%81%AE%E3%81%95%E3%82%89%E3%81%AA%E3%82%8B%E9%AB%98%E9%80%9F%E5%8C%96%E3%80%81%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4%E3%81%AE%E7%B0%A1%E4%BE%BF%E5%8C%96%E3%80%81/ あまり綺麗にまとまった文章を書ける気がしないので、つらつらと時系列で思い出して行こうかと思います。 転職前、 define

    転職してからやってること - 兼雑記
  • 闇のkerasに対する防衛術 - Qiita

    他のDLライブラリを勉強するのが面倒という理由でkerasで実装されていないネットワークを組んではいけないというアンチパターンの話。つまり闇のkerasに対する防衛術の話です。 kerasでゴリゴリ学習コードを書いてはいけない kerasはLSTMが数行で書けたり、vggなどの有名なモデルが揃っている、便利なラッパーとなっていますが、kerasで実装されていない論文のコードを書くことは極力避けましょう keras以外に慣れていなくてもです。 とっととtensorflowかpytorchを勉強してください。 理由 通常のフィードフォワードな分類or回帰のネットワーク(全結合、CNN、autoencoderなど)や既にラッパーが用意されているLSTMは瞬時に実装できますし、パラメータチューニングも簡単なので是非kerasを使いましょう ただし以下のような場合は絶対にkerasを使わないでくださ

    闇のkerasに対する防衛術 - Qiita
  • Autoencoders with Keras

  • TFRecord、DataSet API を Keras で使う - taka5hi’s blog

    機械学習では、時にはメモリに収まりきらないほどの大量のデータを扱う必要があります。 データを準備・加工する処理がボトルネックにならないようにするためには、例えば以下のような工夫が必要になります。 複数のデータをまとめて単一のファイルに保存することでファイルI/Oにかかるオーバーヘッドを減らす データをファイルから読み出してミニバッチを作成する一連のパイプラインを別スレッドで行う TensorFlowでは、前者に対しては TFRecord というバイナリ形式、後者に対しては DataSet API という強力な仕組みをサポートしています。 普段、Keras を使うことが多いのですが、Keras でも TensorFlow の便利な仕組みを使えないかと思いまとめてみました。 前提 サンプルコード 定数定義 TFRecord の作成 TFRecord の読み込み、DataSet API を使った

    TFRecord、DataSet API を Keras で使う - taka5hi’s blog
  • KerasのGeneratorを自作する - kumilog.net

    Keras Advent Calendar 2017 の 25日目 の記事です。 Kerasでモデルを学習するmodel.fit_generator()でつかうgeneratorを自作してみます。なお、使用したKerasのバージョンは2.1.2です。 はじめに Generatorをつくる Generatorをつかう おわりに はじめに Kerasでモデルを学習するには、 model.fit() model.fit_generator() model.test_on_batch() のいずれかを使うと思います。 fit()は、データがメモリにのるくらいの規模のデータに向いており、fit_generator()は、generatorを使ってバッチ毎にデータを読み込みます。メモリ以上のデータを扱うときやバッチ毎に処理をさせるときに使います。test_on_batch()を使うと学習ループをカスタ

    KerasのGeneratorを自作する - kumilog.net
  • 【転職会議】クチコミをword2vecで自然言語処理して会社を分類してみる - Qiita

    はじめに LivesenseAdventCalendar 2016 の20日目を担当する @naotaka1128 です。 現在、転職会議という転職クチコミサービスのデータアナリストを担当しております。 転職会議は会社のクチコミが数百万件集まっている日最大級の転職クチコミサービスです。現状はクチコミや評点を表示しているだけなのですが、今後はクチコミを自然言語処理などで分析して今までは手に入らなかったような有益な情報を世の中に提供していきたいと思っております。 今回はその取っ掛かりとして word2vec および doc2vec という自然言語処理の技術を用いてクチコミを分析し、会社の分類などを行ってみようと思います。 使用する自然言語処理技術 word2vec 昨今、word2vecという自然言語処理の技術が話題です。ご存じの方も多いかと思いますが、大量の文章をもちいて単語をベクトル表現

    【転職会議】クチコミをword2vecで自然言語処理して会社を分類してみる - Qiita
    sh19910711
    sh19910711 2019/02/10
    “model.intersect_word2vec_format”
  • How to do Unsupervised Clustering with Keras | DLology

  • gensimを使ってKerasのEmbedding層を取得する - Ahogrammer

    2017/06/21にリリースされた gensim 2.2.0 から Keras との統合機能が導入されました。 具体的には、Word2vec の Keras 用ラッパが導入されました。 これにより、gensim で分散表現を学習した後に、その重みを初期値として設定した Keras の Embedding層を取得できるようになりました。 記事では、実際に gensim の Keras 統合機能を試してどのようなものなのか確認してみたいと思います。 実装 今回は、Word2vec の Keras 用ラッパーを使って、モデルを実装していきたいと思います。 具体的には 20NewsGroupsデータセットを用いて文書分類タスクに使用する例を示します。 以下の手順で実装していきます。 必要なライブラリのインストール Word2vec の学習と Embedding層の取得 モデルの構築 インストー

    gensimを使ってKerasのEmbedding層を取得する - Ahogrammer
    sh19910711
    sh19910711 2019/02/05
    “gensim で分散表現を学習した後に、その重みを初期値として設定した Keras の Embedding層を取得できる”
  • tfdbg を使って Keras の nan や inf を潰す - Qiita

    はじめに Keras に限らず、機械学習等の科学計算をおこなっているときに nan や inf が出現することがあります。 nan や inf は主にゼロ除算などのバグに起因して発生しますが、nan や inf それ自体を目的に使うこともあるため、エラーになるわけではありません。エラーになったとしても、「きっとどこかでゼロ除算しているんだろなぁ・・・」と思いを馳せることができるだけです。 そこで、TensorFlow 公式デバッガである tfdbg を使って、(TensorFlow バックエンドの) Keras モデルをデバッグして nan や inf の原因を追ってみます。 今回デモ用に利用したコードは公開していますので、ご興味があればご参照ください: https://github.com/keisuke-nakata/keras-tfdbg-tutorial tfdbg とは 公式の

    tfdbg を使って Keras の nan や inf を潰す - Qiita
  • 畳み込みニューラルネットワークをKeras風に定義するとアーキテクチャの図をパワーポイントで保存してくれるツールを作った - Qiita

    (2018/01/05 追記)ちょうどpython-pptxを調べていたので、pptx形式で図を保存できるようにし、タイトルも修正しました。 はじめに 論文やスライドで、畳み込みニューラルネットワークのアーキテクチャを良い感じに表示したいときがありますよね?スライドだとオリジナル論文の図の引用でも良いかなという気がしますが、論文の図としては使いたくありません。 ということでKerasのSequentialモデルのような記法でモデルを定義すると、そのアーキテクチャを良い感じに図示してくれるツールを作りました。言ってしまえばテキストを出力しているだけのツールなので依存ライブラリとかもありません。 https://github.com/yu4u/convnet-drawer ここまで実装するつもりはなかったので綺麗に設計できていませんが、バグ報告や追加機能要望welcomeです! 経緯 元々は、

    畳み込みニューラルネットワークをKeras風に定義するとアーキテクチャの図をパワーポイントで保存してくれるツールを作った - Qiita
  • Chainerでファインチューニングするときの個人的ベストプラクティス - Qiita

    メリークリスマス!!!! @tabe2314です。 この記事では、明日から使えるChainerテクニックとして、既存モデルをファインチューンして新しいモデルをつくる際の個人的なベストプラクティスを紹介します。 ファインチューニング ニューラルネットを学習するために、別の問題、別のデータセットで学習済みのモデルのパラメータをコピーして、それを新しいニューラルネットのパラメータの初期値として使うことをファインチューニングといいます。 典型的なケースとして、一般物体認識のデータセットであるImageNetで学習したネットワークを物体検出やSemantic Segmentationといった別の問題に使用するといった例があります。 一般的にDeep Learningでは大量の学習データが必要とされていますが、あらかじめ(大量のデータで)学習したモデルを初期値として使いファインチューニングすることで、

    Chainerでファインチューニングするときの個人的ベストプラクティス - Qiita
  • Chainer2.0でDeep Embedded Clustering - Qiita

    データの次元圧縮手法について調べている時に、後輩が次元圧縮 + クラスタリングを同時に学習するディープラーニングの手法「Deep Embedded Clustering」を調べて教えてくれたのでせっかくだからChainerで実装してみようというのがこの記事です。 実装したコードはGithubで公開しています。 https://github.com/ymym3412/DeepEmbeddedClustering Deep Embedded Clusteringとは Deep Embedded Clusteringは「Unsupervised Deep Embedding for Clustering Analysis」という論文の中で提案されているクラスタリングの手法です。 次元圧縮やクラスタリングの手法は他にも以下のようなものがあります。 k-means、混合ガウスモデル(GMM) 高速に

    Chainer2.0でDeep Embedded Clustering - Qiita
  • t-SNE の逆変換を試してみた

    Parametric t-SNEでt-SNEの変換をニューラルネットで近似することができたので、 その逆についてもやってみました。 逆変換と言っても特に難しいことはやっておらず、 まず普通にBarnes-Hut t-SNEで訓練データを2次元に変換して、 変換後の座標を入力、変換前の座標を教師データとして教師あり学習を行います。 今回は、変換後の座標のうち訓練データにないような座標について、 どのように逆変換されるのかが気になるので汎化性能を高めるためにDropoutを入れました。 コードは次の通りです。 t-SNEの結果がこんな感じで、 適当に座標を指定して逆変換した結果がこれ かなり綺麗に逆変換できました。 deconvolutionを使えばもっとうまく逆変換できるかもしれませんが、 MNISTの結果としてはこれで十分だと思います。 なんとかしてこの方針で画像生成とかできないのかなーと

    t-SNE の逆変換を試してみた
  • Kerasで可視化いろいろ

    第9回 KAIM 金沢人工知能勉強会 進化的計算と最適化 / Evolutionary computation and optimization(移行済)

    Kerasで可視化いろいろ
  • DataflowとTFRecordでシームレスなMLパイプライン構築

    最近では、機械学習を用いた事例が徐々に聞かれるようになってきました。しかし、MLエンジニアの方々からは「モデルを作ったはいいが、プロダクションに持っていくのは難しい」という声をよくいただきます。この要因は様々ですが、システムとして考慮しなければならない構成が多いというのが主だった要因になっています。 モデルはシステム全体のごく一部(黒い四角部分)中でも特にMLエンジニアを悩ませるのは、データの前処理ではないでしょうか?機械学習では学習と推論時にデータを入力する必要がありますが、プロダクション時のデータは取得してそのままモデルに入力することはできません。なぜなら、データには欠損があるかもしれないし、画像ならモデルに合わせてサイズや階調を変える必要があるからです。さらに、これらのデータが大量にある場合は、1台のマシンでは処理しきれなくなるため、分散環境を構築する必要があります。そして、将来どこ

    DataflowとTFRecordでシームレスなMLパイプライン構築
    sh19910711
    sh19910711 2018/11/27
    Apache Beamでtfrecords出力できる
  • TensorFlowのSavedModelに関するメモ - めもめも

    何の話かというと TF1.0から、新しいモデルの保存形式として、SavedModelが導入されました。 (参考)TensorFlow SavedModel このフォーマットの特徴と使い方のTipsをまとめます。 SavedModel形式で保存する方法 典型的には、Experiment APIを利用します。Experiment APIは、tf.contrib.learnの中でも最もハイレベルなAPIで、 ・モデル ・トレーニング用データ入力関数 ・評価用データ入力関数 を与えて実行すると、トレーニング用データでトレーニングを行いつつ、適当なタイミングで評価用データによる評価結果も出力してくれるというものです。しかも、Experiment APIを利用したコードを Cloud MLE のジョブに投げると、何も考えなくても、自動的に分散学習処理が行われます。また、学習途中のチェックポイントを自動

    TensorFlowのSavedModelに関するメモ - めもめも
    sh19910711
    sh19910711 2018/11/16
    tf.saved_model.loader.load
  • TensorFlowのTFRecordを用いた「学習」をDataset API で行う | MISO

    Googleが開発した機械学習のためのオープンソースソフトウェア、TensorFlow。TensorFlowで学習するデータをインプットさせる場合、CSVやNumpyなどで用意したデータをそのまま利用することもできますが、TensorFlowが推奨フォーマットとして提供しているTFRecordもあります。 そこで、今回は、TensorFlowで推奨されている Dataset API を利用して、マルチスレッド(並列処理)で、バッチ単位にデータを取得する手法で、(機械学習の)「学習」を行っていきます。 ※データの扱い方について、以前の記事では、キューを扱うことを明示的に記載したコーディング(記事では、以後「キューベースパイプライン」と呼ぶこととします)となっていましたが、TensorFlowバージョン1.4(2017年11月リリース)から、Dataset APIを利用することが推奨されてい

    TensorFlowのTFRecordを用いた「学習」をDataset API で行う | MISO
  • TensorFlow の Dataset と Estimator の紹介

    .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

    TensorFlow の Dataset と Estimator の紹介