タグ

2020年2月26日のブックマーク (15件)

  • 第3回 PyTorchによるディープラーニング実装手順の基本

    いよいよ、PyTorchを使ったディープラーニングの流れを通して全体的に説明する。ミニバッチ学習を手軽にするデータローダーから始めて、ディープニューラルネットワークのモデル定義、オプティマイザを使った学習、損失/正解率の出力やグラフ表示といった評価までを解説。 (2/2)

    第3回 PyTorchによるディープラーニング実装手順の基本
  • 第3回 PyTorchによるディープラーニング実装手順の基本

    前々回はPyTorchの核となる部分を、前回はPyTorchの基礎部分といえる「テンソルとデータ型」の説明を行った。今回は、4層のディープニューラルネットワークを題材に、PyTorchによる基的な実装方法と一連の流れを解説する。 全3回の大まかな流れは以下の通りである。 (1)ニューロンのモデル定義 (2)フォワードプロパゲーション(順伝播) (3)バックプロパゲーション(逆伝播)と自動微分(Autograd) (4)PyTorchの基礎: テンソルとデータ型 (5)データセットとデータローダー(DataLoader) (6)ディープニューラルネットのモデル定義 (7)学習/最適化(オプティマイザ) (8)評価/精度検証 このうち、(1)~(3)は前々回、(4)は前回で説明済みである。今回は(5)~(8)を説明する。それでは、前々回の核となる部分を簡単に振り返ったうえで、さっそく今回の説

    第3回 PyTorchによるディープラーニング実装手順の基本
  • Pytorchで転移学習 - Qiita

    TL;DR PyTorchを使った転移学習を行ってみます。使用するデータセットはPyTorchのチュートリアルで使われている蟻と蜂のデータセットを使います。ここからダウンロードできます。直接ダウンロード始めるので気をつけてください。 それぞれ120枚ずつ画像が存在し、validationに75枚の画像を使用します。ImageNetなどでpre-trainされたResNet18を使用することでこの少ないデータセットでも比較的高い精度を出すことができます。 Google Colaboratory内でデータセットの準備 GPUを使って学習を進めたいので、Google Colabを使用します。 まず、Google Driveの/content/drive/My Drive内にdataディレクトリを作成します。 この中に先にダウンロードしておいたデータセットをアップロードし、My Driveでマウン

    Pytorchで転移学習 - Qiita
  • Pytorch:Embeddingに学習済みの重みを使う - 機械学習・自然言語処理の勉強メモ

    やりたいこと 事前にWord2Vecなどで学習した分散表現をネットワークの重みとして用いる。 結論としては、Embedding層の重みにテンソル型に変換した分散表現行列をセットするだけで良かった。 備忘録としてコードを残しておく。 (ここでは、Googleの学習済みの分散表現ベクトルを用いた。) これのハンドリングが良く分からったので、いったんgensimで読み込んだ。 import torch import torch.nn as nn import numpy as np import gensim model_dir = './GoogleNews-vectors-negative300.bin' model = gensim.models.KeyedVectors.load_word2vec_format(model_dir, binary=True) syn0にnumpy.nda

    Pytorch:Embeddingに学習済みの重みを使う - 機械学習・自然言語処理の勉強メモ
  • PyTorchでのモデルの中間層へのアクセス方法 - nobUnagaの日記

    PyTorchにはいろいろなモデルの書き方があるけど,このメモの内容を考えると学習パラメタが無いレイヤ含めてinitにもたせておくほうが良いのかもしれない。 (と思ったけど,一番最後のレイヤをとりあえずコピーしてforwardを再定義するやり方ならどっちでも良い,と思った) 重みにアクセスしたい場合 重みを特定の値で初期化した場合などが利用としては考えられるか。 model.state_dict()が簡単。 辞書で返してくれるのでmodelのinitに付けた名前でアクセスが可能。 model = Net() model.state_dict() #=> {'conv1.weight':[...], 'conv1.bias':[...],...} 中間層の出力にアクセスしたい場合 forwardのhookしたり,色々やり方はあるようだけど,モデルの構築の段階からSequencialを使って分

    PyTorchでのモデルの中間層へのアクセス方法 - nobUnagaの日記
  • 第1回 難しくない! PyTorchでニューラルネットワークの基本

    PyTorchの習得は、シンプルなニューラルネットワーク(NN)の、まずは1つだけのニューロンを実装することから始めてみよう。ニューロンのモデル定義から始め、フォワードプロパゲーションとバックプロパゲーションといった最低限必要な「核」となる基機能に絞って解説。自動微分についても簡単に触れる。 連載目次 人気急上昇の「PyTorch」を使いたい。そう考えて、PyTorchの公式チュートリアルを開いて学習を始めてみた、という人は少なくないだろう。しかし、挫折してしまったり、なかなか進まなかったり、という人も少なくないのではないだろうか。 というのも、その公式チュートリアルの、最初の「テンソル」解説だけは(NumPyライクな直観的なAPIなので)難しくないとしても、次が「Autograd(自動微分)」、その次が「ニューラルネットワーク」……と言いつつも、いきなり「CNN(畳み込みニューラルネッ

    第1回 難しくない! PyTorchでニューラルネットワークの基本
  • Pytorchのニューラルネットの書き方 - HELLO CYBERNETICS

    はじめに 簡単なフィードフォワードニューラルネットワーク nn.Module nn.Module part2 Sequential Sequential part2 nn.ModuleList 次回は はじめに Pytorchはニューラルネットを柔軟に設計できるように、様々な実装の方法が提供されています。今回はその中でも基的な書き方をいくつか紹介することにします。書きたいニューラルネットの規模やカスタマイズしたい内容によって書き方を変えれば、効率よく素早いコーディングが可能になるはずです。 前提として以下がimportされている状態で進めます。 簡単なフィードフォワードニューラルネットワーク 今回は隠れ層が2つで、出力層が1つの3層フィードフォワードニューラルネットワークを例に使います。 nn.Module nn.Moduleを継承して書くスタイルは、Chainerでchainer.Ch

    Pytorchのニューラルネットの書き方 - HELLO CYBERNETICS
  • 畳込みニューラルネットワークの基本技術を比較する ーResnetを題材にー - Qiita

    今更ながら、畳込みニューラルネット(CNN)の基技術を比較します。 やりたいことは、どの技術が一番効果があるのか数値化します。 以下の流れでやっていきます。 (基CNN) → (Resnetの各技術を追加していく) → (+最先端技術) 基CNNに、Resnetに出てくる技術を追加しながら、分類精度の上昇幅を比較します。 コードはkerasで書いています。 Resnetとは 2015年に登場したモデルで、層を飛ばす仕組みを作ることで、深い層を作っても 学習可能なモデルとなりました。ディープラーニング業界では、斬新なアイデアで 革命を起こしました。 詳しくは以下の記事をご覧下さい。 https://qiita.com/koshian2/items/343a55d59d8fdc112661 データのダウンロード 使うデータはCIFAR-10です。これは、32×32サイズの画像が入った

    畳込みニューラルネットワークの基本技術を比較する ーResnetを題材にー - Qiita
  • 畳込みニューラルネットワークの基本技術を比較する ー音でもやってみたー - Qiita

    前回の投稿では、多くの皆様から「いいね」を頂きました。 この場を借りて御礼申し上げます。 前回は画像ファイルでしたが、音ファイルでもやってみたいと思います。 やりたいことは、音ファイルでどの技術が一番効果があるのか数値化します。 以下の流れでやっていきます。 (基CNN) → (3つの技術を追加していく) 基CNNに、3つの技術を追加しながら、分類精度の上昇幅を比較します。 コードはkerasで書いています。 画像ファイルと同じ結果になるのか? 乞うご期待! データのダウンロード 使うデータはESC-50です。 これは、人の音声や自然界の音を集めたデータで、50個のラベルが付与されています。 データの前処理 音の生データは波になっています。 import librosa import pandas as pd import os # define directories base_

    畳込みニューラルネットワークの基本技術を比較する ー音でもやってみたー - Qiita
  • librosaで音声解析!その2|さくっとこーさく

    こんにちは!前回に引き続いてlibrosaを使って遊んでみたいと思います。 今回は音声のスペクトログラム化というものを試していきます!音声を視覚的にとらえられるようになることで今までたくさん聞いてきた曲にもあらたな発見があるかも…? スペクトログラムとは まずスペクトログラムについての説明をしていきたいと思います。 スペクトログラム(英: Spectrogram)とは、複合信号を窓関数に通して、周波数スペクトルを計算した結果を指す。3次元のグラフ(時間、周波数、信号成分の強さ)で表される。 (Wikipediaより引用) なんだかよくわかりませんな…(;’∀’) 実際にどんなものか見てもらうのが早いと思います↓ こちらはバイオリンのスペクトログラムです。(こちらもWikipediaより引用) 縦軸が周波数、横軸が時間、色の線がその時の周波数成分を表しています(明るいほど強い)。普段聴覚のみ

    librosaで音声解析!その2|さくっとこーさく
  • Python/LibROSA でギターのサウンド解析(1/2) - いろいろ

  • 音楽と機械学習 前処理編 MFCC ~ メル周波数ケプストラム係数 - Qiita

    最近音楽機械学習で扱うことに興味があって色々と調べているのですが、せっかくなので備忘録と理解促進を兼ねて記事にしてみます。 機械学習に限らず、音楽をデジタル情報として扱う際には楽譜や調、歌詞など、メタな情報を扱う方法と、オーディオデータそのものを扱う方法とに大別されますが、今回はオーディオデータそのものを扱う方法の一つとして、MFCCについてまとめます。 お急ぎの方向け mp3 を wav にして MFCC して現実的に扱えそうな次元に落とす # ffmpegのインストール $ brew install ffmpeg # ffmpegmp3 を サンプリングレート 44.1kHz wavに変換 $ ffmpeg -i hoge.mp3 -ar 44100 hoge.wav # 必要なPythonパッケージのインストール $ pip install --upgrade sklearn

    音楽と機械学習 前処理編 MFCC ~ メル周波数ケプストラム係数 - Qiita
  • 窓関数を用いる理由- ロジカルアーツ研究所

    FFTを行う際によく窓関数というものが用いられます。しかし何のために使うのかよくわからずに何となく使っている方も多いのではないでしょうか。後学のためにここで少しだけ説明しておきましょう。 まずその前にFFTを行う際の大前提について知っておかなければなりません。フーリエ変換の定義によれば、「あらゆる周期関数は正弦波と余弦波の重ね合わせで表すことができる」ことが知られています。ここで「周期関数」というところに深い意味があるのですが、要するに周期関数とはあるパターンが一定の周期で繰り返される関数のことを言うわけです。逆に言えば、フーリエ変換を行うためには周期関数でなければならないということになります。 しかしコンピュータでFFTを行う場合、無限のサンプルを取るわけにはいきませんから、当然ある限られた範囲のサンプルを取って変換を行うことになります。特にFFTの場合はサンプル数に制約があって、102

  • 深層学習の「ゴッドファーザー」3人が指摘した、現在のAIに足りない点とは

    人工知能学会の年次国際会議「AAAI-20」が2020年2月上旬、米ニューヨークで開催された。「深層学習のゴッドファーザー」と呼ばれるヤン・ルカン氏、ジェフリー・ヒントン氏、ヨシュア・ベンジオ氏の3人が招待講演でそろって登壇し、次に解決すべき「課題」を示してみせた。 深層学習を含む現在のAIが、人間並みの論理的思考を可能にする「人間級のAI(Human-level AI)」へ進化するために必要なピースとは何か。現地で交わされた議論の中身を明らかにする。 「考えを改めた」というルカン氏の気づき 「ジェフ(ジェフリー・ヒントン氏)は数十年にわたり『教師なし学習』の重要性について議論していた。私はこれまで気に留めていなかったが、考えを改めた――」 米フェイスブックのチーフAIサイエンティストを務める米ニューヨーク大学のヤン・ルカン教授は講演でこのように語った。 2010年代にいわゆる「第3次A

    深層学習の「ゴッドファーザー」3人が指摘した、現在のAIに足りない点とは
  • 【2020年提出】確定申告、医療費控除の対象になる費用まとめ

    その年の1月1日から12月31日までの間に、自己または自己と生計を一にする配偶者やその他の親族のために医療費を支払った場合には、一定の金額の所得控除を受けることができます。これを医療費控除というわけですが、実際に医療費をまとめるにあたって、具体的に何が医療費として認められるのでしょうか? 治療のためは○! 予防のためは×! 病気やケガで病院に行ったときの診察代や薬代は対象です。行き帰りの交通費も対象になります。 基的には、病気やケガの治療のためではない支出は、控除の対象ではないと覚えておくといいです。たとえば、予防接種は文字通り治療ではなく「予防」のためなので対象外になります。また、美容整形、一般的なメガネの購入費なども対象外です。 病院に行く暇がないため薬局で買った薬代は控除の対象です。ただし、疲労回復のためのドリンク剤やサプリメントは対象外になります。 しっかりチェックして確定申告に

    【2020年提出】確定申告、医療費控除の対象になる費用まとめ