機械学習

WGANの論文読んでTensorflowで実装する その1

前回、間違えてUnrolledGANの論文を読んでしまった。 このWGANというのが本当は読もうと思った論文。正直UnrolledGANを先に読んでなかったらWGANの理解が深まらなかったと思う。読んでてよかった という訳で論文はここからどうぞ [1701.07875] Wasserstein G…

UnrolledGANをTensorFlowで実装した

別のGANの論文を読むつもりが間違えてUnrolledGANと呼ばれるものを印刷して読んでしまった 途中でこれ違う論文やんけと気づいたけど紙がもったいないのでちゃんと読んでUnrolledGANを実装した。 まちがえて読んだ論文はこれ [1611.02163] Unrolled Generativ…

TensorflowでDCGANを実装した

前回でMLPでのGANの実装が大体できたので、次はDCGANを実装に挑戦する。 DCGANのDCは Deep Convolution のDCだから畳み込み層を追加してパワーアップした感じのGANなんだろかというのが論文を読む前のイメージだったりする。 コードはここ github.com いつも…

ベイズ推論の事後分布(離散)の更新について

前回の続き VAEの理解に必要なベイズ学習について - 時給600円 パラメータの事前分布を自分で仮定して、観測データを元により適したパラメータを推定するのがベイズ学習といった話だった。 事前分布として固定値ではなく正規分布といった確率分布を与えてそ…

VAEの理解に必要なベイズ学習について

自己符号化器、初めて知った当初は中間層にて入力の次元数より少ない次元数で表現し、出力層(入力と同じ次元数)で復元を行うすごいやつといったイメージがあった。入力にあえてノイズを加えて出力としてノイズを除去したものを得るデノイジング自己符号化器…

kaggleのメルカリ価格予測コンペの反省とword2vec、Embeddingについて

そういえば年末年始あたりにメルカリのコンペに冬休みの自由研究として参加してました 他のことに追われていたらいつの間にかコンペが終了したので反省という名の手法の振り返りをする コンペ自体の詳細は以下のリンクから Mercari Price Suggestion Challen…

機械学習の勉強を始めて1年ほど経ったので振り返る

あまりこういうことするのは好きではないが、これからも勉強を続けていってどれくらい成長できたか確認したいと思ったので、タイトル通り機械学習の勉強を始めて1年ほど経ったので振り返ることにした。 始めた発端 学部2年の10月頃、大学の授業にあまり追わ…

自然言語処理に触れてみる(メルカリのデータセットでカテゴリ分類)

よく聞く自然言語処理をやっとこさ触ってみることにした。 自然言語処理自体については図書館で借りた戦略的データサイエンスという本がちょっとだけ触れていてくれたのでこれを元に触ってみることにする www.oreilly.co.jp 今までSVMでも決定木でも学習に必…

スパース性に基づく機械学習のわからないとこのメモ

タイトル通りL1ノルムとか正則化あたりを理解しようと思ったので「スパース性に基づく機械学習」という本を読んでる わからないというより日本語が理解できないところがいくつかあったのでメモとして残して、理解できた部分はここでまとめることにする。 わ…

Dropoutのハイパーパラメータの決定について

ここ1ヶ月ほど、会社のアルバイトで6クラスの画像分類モデルをTensorflowを使って作ることを任された 色々詰まった、考えさせられたことがあったのでメモ 画像分類だったらCNNで、ネットワークはVGG16だったりAlexNetで作りましたべろ〜んwって感じでいいと…

ベイズの定理とソフトマックス関数について

授業が始まって中々勉強に時間が取れないがちょっとだけPRML上巻を読んだ。 ベイズの定理について自分なりの解釈としてのメモをかくことに 中学で確率における同時確率(または結合確率)というのを習った。これは事象XとYがあるとして、XとYが同時に起こる確…

KaggleのTitanicで上位10%に入った手法のまとめ

初心者向けですが深層学習の講師を最近やりました。 講義の中で実際にKaggleのコンペで腕試しをするということをしたかったので講義をやる前にチャレンジした。 今回腕試しをするコンペはkaggleのチュートリアルで有名なtitanicを選んだ。 Titanic: Machine …

物体検出の実装を目指す-Fast R-CNNについて

結構間が空いたが、Fast R-CNNの論文を読んだ。適度にメモする。 SPPnetではSelectiveSearchから得た候補領域一つ一つをCNNにかけるというのを無くし、対象とする画像データ一枚からCNN(畳み込みの処理のみ)にかけて得た特徴マップから物体検出を行う手法を…

ROC曲線や累積反応曲線について

前回の記事で、モデルの性能評価として期待利益という値を使った。 データサイエンスの基本コンセプトのひとつに「モデルの性能の比較対象となる適切な基準は何であるかを考察することは重要である」というものがあるらしい。ビジネスとしては予想精度の最大…

混同行列、期待利益からのモデルの評価について

その2で終わるはずだったが続いた。 期待値としての評価をキノコの分類モデルで試して見た。コードはここ。 github.com 前回3つのモデルを作成し、性能の計測については損失関数や以下のような精度を使って評価した。 精度は分類器の性能を1つの値で表すこ…

Kaggleのデータセットを使って特徴量を観察する その2

前回の続き 特徴量の選択を終えたのでキノコが食用か毒ありかの判別を行うモデルを構築していく コードはここ github.com モデリング 作成したモデルは Tensorflowを使ったNNのロジスティック回帰モデル 決定木を用いたツリーのモデル 流行りのXGboostを用い…

Kaggleのデータセットを使って特徴量を観察する その1

最近、特徴量の観察、選択がとても大事だと実感した。 それもあって深層学習の勉強とは別に、データサイエンスの勉強もしようと思ってこの本を読んでいる。 www.amazon.co.jp まだ7章ほどだけどもためになることが結構書いてあっていい。自分の言語処理能力…

機械学習よりのインターンに行ってきた感想と特徴量について

タイトル通り機械学習よりのインターンに行ってきた。理由は3年生だからそろそろインターンの体験を積みたいというのが一番でかかったりする。 どこのインターンに行ったのかは言えません。東京湾に沈められますからね。 オフィスは綺麗でリラックマのひよこ…

外れ値検出、OneClassSVMについて

統計データにはよく外れ値なるものが含まれていることが多いそう。 外れ値とはデータの分布において他の観測値から大きく外れた値のことで、異常値とやらもあるけどそれとは異なるっぽい 外れ値検出、処理することは機械学習を行う上で学習の妨げをなくす大…

SPPnetについてとTensorflowでの畳み込みフィルターの観察

前回の続き SPPnetを利用した物体検出では入力画像から1回だけ畳み込みの操作を行うことで、大幅な計算時間の削減が可能ということで感動した。 他のサイトの情報や、論文の内容を読み直したりして以下のような手順でSPPnetによる物体検出器を作成しているの…

物体検出の実装を目指す-SPPnetについて

RCNNに続き、次はSPPnetの理解、実装を目指す。 今回も頑張って論文を読んだ。気のせいかRCNNの論文より読みやすかった。アジアの人が書いた論文だからかな。 まずRCNNの問題点として以下が挙げられる。 RCNNはSelectiveSearchなどで得た候補領域の1つ1つを…

深層学習5章の白色化とデノイジング自己符号化器を試してみた

お久しぶりです。 SPPnetの論文をよみつつ深層学習の青い本も読み進めてます。 青い本の5章における白色化とデノイジング自己符号化器が気になったので作って見ることにした。 白色化というのは機械学習における訓練データに偏りがあると学習の妨げになる場…

深層学習5章の自己符号化器をTensorflowで作ってみる

間がかなり空いてしまった。 イルカの深層学習5章にて自己符号化器なるものの説明があった。これは入力層よりノードの少ない中間層で符号化し、入力と同じノード数の出力層にて復号化を行う方法でいいのだろうか。入力のノード数より少ないノード数に落とし…

深層学習4章の誤差逆伝播について

深層学習という青いイルカさんが表紙の本がありまして最近読んでいる。 重み上限など自分の知らないことが載っていてまだまだ勉強不足と感じる。 4章の誤差逆伝播について、二乗誤差の第n層の重みの更新を考えるとき こんな式が載っていた。右辺の第二項の微…

Tensorflowで作った学習モデルをandroidで利用する

物体検出を勉強中です。Tensorflowにはネットワークのグラフ情報やパラメータなどを保存するcheckpointというものがありますよね。 checkpointファイルをロードすれば一旦学習をストップして、再度学習を続行することもできて非常に便利。 それとは別でcheck…

Tensorflowを用いて物体検出の実装を目指す-RCNN

前回に続いて今回はRCNNです。 まずは論文を頑張って読みました。個人的にまとめたスライドを上げておきます。 英語が苦手なので翻訳に頼ってしまった。。BB回帰のところの実装がわからなかったので探したがなかったので今回は無しで実装することに。 RCNNで…

Tensorflowを用いて物体検出の実装を目指す-テンプレートマッチング

最近アルバイトのこともあって物体検出のことについて調べていました。 有名なところではRCNNに続きFast RCNN、Faster RCNN、YOLO、最近だとSSDというのが熱い感じ? Faster RCNNやSSDはすでにTensorflow版のがGithubで公開されてますが、自分で実装して見た…

畳み込み層について その2

前回の続き 前回をまとめると 画像は基本3次元の形状で、形状には大切な空間的情報が含まれている。 入力の形状を意識したニューラルネットワークの構築には、「畳み込み層」と「プーリング層」を用いる。 畳み込み層で行われる畳み込み演算の処理に使われる…

Tensorflowで道路標識の画像認識をしてみる

勉強ばっかりだと頭に残らないので、実際に自分でデータセット作りtensorflowを使って画像認識をしてみる。 データは道路標識の「制限速度」と「止まれ」の2クラス分類にする。 画像検索のAPIは貧乏で使えないので手作業でデータは各100枚ほど集めた。 80枚…

畳み込み層について その1

ディープラーニングを用いた画像認識の記事で「畳み込みネットワーク(CNN)」という単語をよく見かける。最近CNNを勉強してたのでメモ。 CNNでは「畳み込み層(Conv)」と「プーリング層(Pool)」の2つの層がニューラルネットワークに登場する。 全結合のニュー…