タグ

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

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

    ディープラーニングは特定分野で非常に高い精度が出せることもあり、その応用範囲はどんどん広がっています。 しかし、そんなディープラーニングにも弱点はあります。その中でも大きい問題点が、「何を根拠に判断しているかよくわからない」ということです。 ディープラーニングは、学習の過程でデータ内の特徴それ自体を学習するのが得意という特性があります。これにより「人が特徴を抽出する必要がない」と言われたりもしますが、逆に言えばどんな特徴を抽出するかはネットワーク任せということです。抽出された特徴はその名の通りディープなネットワークの中の重みに潜在しており、そこから学習された「何か」を人間が理解可能な形で取り出すというのは至難の業です。 例題:このネットワークが何を根拠にとして判断しているか、ネットワークの重みを可視化した上図から答えよ(制限時間:3分) image from CS231n Visua

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

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

    Convolutional Neural Networkを実装する - Qiita
  • Chainerで始めるニューラルネットワーク - Qiita

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

    Chainerで始めるニューラルネットワーク - Qiita
  • はじめるDeep learning - Qiita

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

    はじめるDeep learning - Qiita
  • 画像処理の数式を見て石になった時のための、金の針 - Qiita

    画像処理は難しい。 Instagramのキレイなフィルタ、GoogleのPhoto Sphere、そうしたサービスを見て画像は面白そうだ!と心躍らせて開いた画像処理の。そこに山と羅列される数式を前に石化せざるを得なかった俺たちが、耳にささやかれる「難しいことはOpenCVがやってくれるわ。そうでしょ?」という声に身をゆだねる以外に何ができただろう。 稿は石化せざるを得なかったあの頃を克服し、OpenCVを使いながらも基礎的な理論を理解したいと願う方へ、その道筋(アイテム的には金の針)を示すものになればと思います。 扱う範囲としては、あらゆる処理の基礎となる「画像の特徴点検出」を対象とします(実践 コンピュータビジョンの2章に相当)。なお、記事自体、初心者である私が理解しながら書いているため、上級画像処理冒険者の方は誤りなどあれば指摘していただければ幸いです。 画像の特徴点とは 人間が

    画像処理の数式を見て石になった時のための、金の針 - Qiita
  • ゼロからDeepまで学ぶ強化学習 - Qiita

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

    ゼロからDeepまで学ぶ強化学習 - Qiita
  • Git 特定のフォルダのみcloneする - Qiita

    リポジトリのここのフォルダだけcloneしたいんだ、Subversionでいうところのcheckoutだ、という場合はsparsecheckoutの機能を使用する。 特定のフォルダだけclone、という以外に絶対にcommitしたくないファイルを外したりできるので、覚えておくと便利(設定ファイルを個人ごとに書き換えなければならない場合など)。 git clone xxx git config core.sparsecheckout true echo I_want/this_folder/ > .git/info/sparse-checkout git read-tree -m -u HEAD echo I_forget/this_folder/ >> .git/info/sparse-checkout まずは普通にcloneをしてきて、そのあとsparsecheckoutを有効にする。

    Git 特定のフォルダのみcloneする - Qiita
    agw
    agw 2016/02/15
  • TensorFlowを算数で理解する - Qiita

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

    TensorFlowを算数で理解する - Qiita
  • Pythonではじまる、型のある世界 - Qiita

    アノテーションを実際に行っているのは以下の部分になります。 name: str: 引数nameが、str型であることをアノテート -> str: 関数greetingの返り値の型がstrであることをアノテート また、Type Hintsでは変数宣言における型コメントについても言及されています。 こちらは構文ではなく当にコメントの拡張になりますが、現在既にこうした型に関するコメントを付けているのであれば、上記の記法に乗っ取っておけば将来的に何かしらのツールで型チェックを行えるようになる可能性があります。 これがPythonに導入された、型のある世界・・・になります。 なお、付与されたアノテーションは、実行時にはチェックされません。端的に言えばコメントの延長となります。 そのため強制力はありませんが、実行時に何もしないためパフォーマンスに影響を与えることもありません。 よって原則的には静的解

    Pythonではじまる、型のある世界 - 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