タグ

ブックマーク / qiita.com/icoxfog417 (13)

  • ディープラーニングの判断根拠を理解する手法 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ディープラーニングは特定分野で非常に高い精度が出せることもあり、その応用範囲はどんどん広がっています。 しかし、そんなディープラーニングにも弱点はあります。その中でも大きい問題点が、「何を根拠に判断しているかよくわからない」ということです。 ディープラーニングは、学習の過程でデータ内の特徴それ自体を学習するのが得意という特性があります。これにより「人が特徴を抽出する必要がない」と言われたりもしますが、逆に言えばどんな特徴を抽出するかはネットワーク任せということです。抽出された特徴はその名の通りディープなネットワークの中の重みに潜在してお

    ディープラーニングの判断根拠を理解する手法 - Qiita
  • 転移学習:機械学習の次のフロンティアへの招待 - Qiita

    機械学習を実務で使う場合、「ではお客様、ラベルデータを・・・」と申し出て色よい返事が返ってくることはあまりありません。また、例えば自動運転車を作るときに、データが足りないからその辺流してくるか、お前ボンネットに立ってデータとってな、とするのは大変です。 NICO Touches the Walls 『まっすぐなうた』 より そこで必要になってくるのが転移学習です。 転移学習とは、端的に言えばある領域で学習させたモデルを、別の領域に適応させる技術です。具体的には、広くデータが手に入る領域で学習させたモデルを少ないデータしかない領域に適応させたり、シミュレーター環境で学習させたモデルを現実に適応させたりする技術です。これにより、少ないデータしかない領域でのモデル構築や、ボンネットに立つという危険を侵さずにモデルを構築することができるというわけです。 この転移学習の可能性は、NIPS 2016

    転移学習:機械学習の次のフロンティアへの招待 - Qiita
  • 機械学習モデルの実装における、テストについて - Qiita

    数あるフレームワークに付属するExample、機械学習モデルを実装してみた、という話。これらに共通して言えるのは「テストがない」ということです。 機械学習のモデルだって、アプリケーションに組み込まれればプロダクションコードの一部です。テストがない実装を番環境に組み込むか?というと通常そんなことありえないと思います。 (スタジオジブリ 紅の豚 より拝借) 忘れられがちな点ですが、機械学習モデルは「リリースした瞬間」が最高精度になります。なぜなら、リリースした瞬間こそがその時点で手に入るフルフルのデータを使って鍛え上げたモデルであり、それ以降はどんどん未知のデータが入ってくるためです。 そのため、モデルの精度、また妥当性をいつでも検証できるようにしておくというのはとても重要です。これは通常のコードにテストをつける理由と同等で、つまり機械学習モデルだからと言って特別ではないということです。

    機械学習モデルの実装における、テストについて - Qiita
  • LSTMを超える期待の新星、QRNN - Qiita

    RNN「これってもしかして」 CNN「わたしたちのモデルが・・・」 「「入れ替わってる~~~!?」」 というわけでQRNN、QUASI-RECURRENT NEURAL NETWORKSとは、RNNの機構をCNNで「疑似的(QUASI)に」実装するというモデルです。これにより、既存のRNN(というかLSTM)が抱えていたいくつかの問題の解決を試みています。 元論文は以下となります。 QUASI-RECURRENT NEURAL NETWORKS 作者によるブログ 作者の方のブログにChainerのサンプルコードがあったので、それを元にTensorFlowで実装してみました。早く動かしたい!という方はこちらを見てみてください。 icoxfog417/tensorflow_qrnn (Starを頂ければ励みになります m(_ _)m) 記事では、この研究のモチベーションとそのアプローチについ

    LSTMを超える期待の新星、QRNN - Qiita
    aidiary
    aidiary 2016/12/13
  • Convolutional Neural Networkを実装する - Qiita

    Deep Learning系のライブラリを試すのが流行っていますが、Exampleを動かすのはいいとしても、いざ実際のケースで使おうとするとうまくいかないことがよくあります。 なんとか動かしてみたけれど精度が出ない、データの加工の仕方が悪いのか、モデルのパラメーターが悪いのか、原因がぜんぜんわからん・・・という事態を乗り越えるには、やはり仕組みに対する理解が必要になってきます。 そんなわけで、編では画像の用意という一番最初のスタートラインから、Chainerで実装したCNNを学習させるところまで、行うべき手順とその理由を解説していきたいと思います。 前段として理論編を書いていますが、ここではライブラリなどで設定しているパラメーターが、理論編の側とどのようにマッチするのかについても見ていきたいと思います。 なお、今回紹介するノウハウは下記リポジトリにまとめています。画像認識を行う際に役立て

    Convolutional Neural Networkを実装する - Qiita
    aidiary
    aidiary 2016/11/25
  • ゼロからDeepまで学ぶ強化学習 - Qiita

    ロボットから自動運転車、はては囲碁・将棋といったゲームまで、昨今多くの「AI」が世間をにぎわせています。 その中のキーワードとして、「強化学習」というものがあります。そうした意味では、数ある機械学習の手法の中で最も注目されている(そして誇張されている・・・)手法ともいえるかもしれません。 今回はその強化学習という手法について、基礎から最近目覚ましい精度を出しているDeep Q-learning(いわゆるドキュン、DQNです)まで、その発展の流れと仕組みについて解説をしていきたいと思います。 記事の内容をベースに、ハンズオンイベントを開催しました(PyConJPのTalkの増補改訂版) Pythonではじめる強化学習 OpenAI Gym 体験ハンズオン 講義資料の方が図解が豊富なので、数式とかちょっと、という場合はこちらがおすすめです。 Tech-Circle #18 Pythonではじ

    ゼロからDeepまで学ぶ強化学習 - Qiita
  • Git for WindowsでPythonがうまく動かない場合の対処法 - Qiita

    Git for Windowsが2系に上がってから、付属のGit Bashでpythonなどの対話モードで扱うコマンドがうまく動かなくなりました。 これはGit Bashに使われているMinTTYの既知の不具合(というか仕様?)らしく、対話モードを伴うコマンドはwinptyを使えということのようです。つまり、Git Bash上で以下のようにpythonを起動すれば正常に動作します。 winpty python いちいちwinptyつけないといけないのか、めんどくさい、という方は<Git installed folder>\etc\profile.d\aliases.shを修正することでも対応できます。for name in ...の所に、winpty経由にしたいコマンドを追加すればOKです。

    Git for WindowsでPythonがうまく動かない場合の対処法 - Qiita
  • TensorFlowを算数で理解する - Qiita

    TensorFlowは主に機械学習、特に多層ニューラルネットワーク(ディープラーニング)を実装するためのライブラリになりますが、その基的な仕組みを理解するのにそうした難しい話は特に必要ありません。 記事では、TensorFlowの仕組みを、算数程度の簡単な計算をベースに紐解いていきたいと思います。 TensorFlowの特徴 初めに、TensorFlowの特徴についてまとめておきたいと思います。 TensorFlowは、その名前の通りTensor(多次元配列、行列などに相当)のFlow(計算処理)を記述するためのツールです。その特徴としては、以下のような点が挙げられます。 スケーラビリティ PC、サーバー、はてはモバイル端末まで、各マシンのリソースに応じてスケールする。つまり、低スペックなものでもそれなりに動くし、GPUを積んだハイスペックなサーバーであればそのリソースをフルに活用した

    TensorFlowを算数で理解する - Qiita
  • Chainerで始めるニューラルネットワーク - Qiita

    Chainerは、Preferred Networksが開発したニューラルネットワークを実装するためのライブラリです。その特徴としては、以下のような点があります(ホームページより)。 高速: CUDAをサポートし、GPUを利用した高速な計算が可能 柔軟: 柔軟な記法により、畳み込み、リカレントなど、様々なタイプのニューラルネットを実装可能 直観的: ネットワーク構成を直観的に記述できる 個人的には、さらに一つ「インストールが簡単」というのも挙げたいと思います。 ディープラーニング系のフレームワークはどれもインストールが面倒なものが多いのですが、Chainerは依存ライブラリが少なく簡単に導入・・・できたんですが、1.5.0からCythonを使うようになりちょっと手間になりました。インストール方法については以下をご参照ください。 Mac Windows AWS 公式インストール情報 また、C

    Chainerで始めるニューラルネットワーク - Qiita
  • 音楽アプリのための音声解析入門 - Qiita

    Courseraで受講したAudio Signal Processing for Music Applicationsの内容のまとめです。単純にトラックを再生するだけではなく、一歩踏み込んだものを作りたい、というときの入り口になる・・・と思います。 音声解析の目的 音声解析とは、ざっくりいえば「聞こえてくる音声がどんな周波数の音で構成されているか」を明らかにすることです。これをスペクトル解析といいます。 これを明らかにすると、以下のようなことができるようになります。 音の構成から、特徴づけを行う(楽器・発話者の特定、音楽のジャンルの推定など) 目的の周波数以外の音を除外する(フィルタリング) 音の合成によって目的のサウンドを構成する(シンセサイザーなど) 上記の点にもある通り、分解(解析)が上手くできれば、その逆の合成によって音を作り出すこともできるようになります。つまり、音楽解析は全体と

    音楽アプリのための音声解析入門 - Qiita
  • ニューラルネットワークで時系列データの予測を行う - Qiita

    Hopfield networkは、一般的なクラス分類以外に最適化問題への応用が可能なモデルです。 Elman/Jordanは、Simple recurrent networksと言われているように一番シンプルな形となっています。RNNを利用したい場合はまずどちらかでやってみて、精度的な問題があるのなら他の手法に切り替えてみる、というのがよいのではないかと思います。 Elman/Jordanの違いは上記のとおりですが(前回データの反映が隠れ層から行われるか、出力層から行われるか)、こちらにも詳しく書かれています。精度的な優劣はありませんが、隠れ層の数によって次に伝播する量を変化させられるElmanの方が柔軟と言えると思います。 Echo state networkは毛色が違ったモデルで、ノードを事前に結合せずReservoir(貯水池などの意味)と呼ばれるプールに貯めておき、入力が与えられ

    ニューラルネットワークで時系列データの予測を行う - Qiita
    aidiary
    aidiary 2015/01/08
    ボールのバウンドの軌道(位置、速度)の力学系をRNNで学習。あまりうまく学習できていない模様。
  • はじめるDeep learning - Qiita

    そうだ、Deep learningをやろう。そんなあなたへ送る解説記事です。 そう言いながらも私自身勉強しながら書いているので誤記や勘違いなどがあるかもしれません。もし見つけたらご連絡ください。 Deep learningとは こちらのスライドがとてもよくまとまっています。 Deep learning つまるところ、Deep learningの特徴は「特徴の抽出までやってくれる」という点に尽きると思います。 例えば相撲取りを判定するモデルを構築するとしたら、普通は「腰回りサイズ」「マゲの有無」「和装か否か」といった特徴を定義して、それを元にモデルを構築することになります。ちょうど関数の引数を決めるようなイメージです。 ところが、Deep learningではこの特徴抽出もモデルにやらせてしまいます。というか、そのために多層、つまりDeepになっています。 具体的には頭のあたりの特徴、腰のあ

    はじめるDeep learning - Qiita
  • Pythonを書き始める前に見るべきTips - Qiita

    Pythonを使ってこの方さまざまな点につまずいたが、ここではそんなトラップを回避して快適なPython Lifeを送っていただくべく、書き始める前に知っておけばよかったというTipsをまとめておく。 Python2系と3系について Pythonには2系と3系があり、3系では後方互換性に影響のある変更が入れられている。つまり、Python3のコードはPython2では動かないことがある(逆もしかり)。 Python3ではPython2における様々な点が改善されており、今から使うなら最新版のPython3で行うのが基だ(下記でも、Python3で改善されるものは明記するようにした)。何より、Python2は2020年1月1日をもってサポートが終了した。よって今からPython2を使う理由はない。未だにPython2を使う者は、小学生にもディスられる。 しかし、世の中にはまだPython3に

    Pythonを書き始める前に見るべきTips - Qiita
  • 1