アプリとサービスのすすめ

アプリやIT系のサービスを中心に書いていきます。たまに副業やビジネス関係の情報なども気ままにつづります

自然言語処理タクスでよく使うAttentionの出力のAttention weightを可視化してみた【機械学習】

Attentionといえば、すでに自然言語処理モデルではなくてはならない存在。 メカニズムは割愛。別名で注意機構とか呼ばれる。Attentionの仕組みは、(個人的に理解してる範囲では)簡単に言うと以下のポイントがある。・人間が特定のことに集中(注意)する仕…

日本語版keras BERTのfine tuningでlivedoorニュースのトピック分類

今回は日本語版keras BERTで、自然言語処理用の公開データセット" livedoorニュースコーパス "のトピック分類をしてみた。前回の記事で、英語版のkeras BERTでネガポジ判定をしたが、日本語版はやったことなかった。 テキストの前処理→日本語版keras BERT読…

学習済み英語版keras BERTのfine tuning(転移学習)でネガポジ判定の2値分類をしてみた【機械学習・自然言語処理】

googleの自然言語処理の高性能モデルBERTを使ってfine tuning(転移学習)をやった。BERT用のデータセットではなく、一般に公開されてるIMDBデータセット(映画レビュー)を使用。 2値分類用にBERTモデルを再構築して、ネガポジ判定したので、その過程をまてめ…

高性能版GANの「styleGAN」で本物そっくりの画像を生成してみた【keras・機械学習】

今回は論文で紹介されてたNVIDIAが開発したstyleGANを実装してみた。普通のGANとは生成過程も違うし、生成画像の出来の精度も比較にならないぐらい高くて、驚いた。 仕事で使う機会があったので、その生成過程をまとめてく。 目次 1.styleGANについて 2.styl…

Unet(Auto encoder)でスニーカー画像からロゴを生成してみた【機械学習】

よく元画像から別の画像を生成したりするのに使うautoencoderの亜種「Unet」を使ってみた。 今回やるのはadidasのスニーカーを入力して、ロゴを出力するように学習させるタスク。autoencoderを使うのは初めてなので、作業過程などをまとめてく。目次 1.概要 …

circleCIとgithubを連携して、簡単にコードをGCRにpushできるようにしてみた

コードとかの管理ツールとして、circleCIを使っている。というのもcircleCIを使えば、コードを書き換えて、githubにuploadすれば、circleCI経由で勝手にGCRにDocker imageがpushされるから。簡単に言うと便利すぎるから使ってる感じ。今回、githubとcircleCI…

Terraform × ApexでLambdaとCloudwatchログのスケジュールを管理してみた【機械学習・AWSインフラ】

Terraformが人気のインフラ管理ツールということで是非習得したかったので、TerraformとそのラッパーのApexを使って、LambdaとCloudwatchログのスケジュール管理をしてみた。Apexを使えばLambda管理がラクにできるので、運用をイメージしてTerraformでlambda…

Node.jsでサーバを構築し、Tensorflow.jsでCNNの画像分類してみた【機械学習・Javascript】

今回はgoogle colaboratory(colab)で訓練したCNNの訓練済みモデルとtensorflow.jsを使い、Node.jsのサーバ上で画像分類してみた。Node.jsを使ってjavascript用のサーバを立てたり、javascriptを使ったりと学ぶことが多かった。colab上で訓練→javascript上でm…

大容量データの音声認識(CNN)をCPU上でやった作業ログ【機械学習・ディープラーニング】

今回は音声認識のデータセット「ESC-50」をCNNで分類した。特にこだわったのが、GPUでも普通にやったらOOMエラーが出るくらいの大容量のデータセットを、kerasのfit_generatorメソッドを使ってCPU上でもできるようにしたこと。あとは音声認識は触れたことな…

pythonで強化学習のモデルフリーの手法、学習法・コードまとめ【機械学習】

強化学習はモデルベースとモデルフリーに分類できて、前回はモデルベースの手法をまとめた。 今回はモデルフリーのメインの手法をまとめてく。モデルベースの手法はこちら。 trafalbad.hatenadiary.jp 目次 1.変数、関数、環境、エージェントの定義 2.モデル…

pythonで強化学習のモデルベースの手法とその学習法をまとめてみた【機械学習】

書籍「pythonで学ぶ強化学習」を読んだ。強化学習のアウトプットの機会がないので、とりあえず学んだ内容を備忘録も兼ねてまとめてみた。主に強化学習は「モデルベース」と「モデルフリー」に分類でき、今回はモデルベースの手法のまとめ。目次 1.モデルベー…

個人的なpythonのclassと継承、super、その他*argsとかのアウトプットまとめ

class、継承や*argsとか、pythonでまだまともに使ったことがないメソッドが多かったので、暇がある機会に学習した。なので淡々と書くアウトプットログ。早く身につけるコツはこの一年で大分学んだ。基礎を学んだら、問題設定でもなんでもして、さっさとアウ…

自然言語処理タスクでいろんなRNN系ニューラルネットでの精度を検証してみた【keras・機械学習】

深層学習を使った自然言語処理のタスクで、ネガポジの2値分類をやった。 その際、自然言語処理向けのいろんなRNN系のニューラルネットワーク(NN)を使ったので、各NNの精度を順にまとめてく。ちなみに、 ・不均衡データに対して損失関数でチューニングする…

ニューラルネット(RNN, LSTM)で使う自然言語処理の単語埋め込み(word embedding)のやり方まとめ【機械学習】

ニューラルネット(RNNとかLSTM)で自然言語処理をするときに、embbedingレイヤーを使い、単語を入力する。そのとき、単語をidベクトルに変換する「単語埋め込み(word embedding)」という手法を使う。簡単にいうと、従来の自然言語処理で使うone-hot表現とは…

CNNの訓練済みモデルで特徴抽出して、faissによる類似画像検索してみた【機械学習】

メルカリの画像分類で、end-to-endで学習した学習済みモデルを使って、特徴抽出してから、faissで類似画像検索する手法が使われてた。詳しくは語られてないけど、下の図の流れ。 手順でいうとこんな感じ→データセット画像(indexing dataset)とクエリ画像(que…

kubenetesでDjangoのアプリをデプロイする手順と作業ログ(on GKE)

pythonのフレームワークでflaskが人気みたいだけど、せっかくDjango勉強したし、フレームワーク的に仕組みも同じなので、どうせならDjangoで作ったアプリをGKE上でデプロイしようと思い、やってみた。前回、ローカルで画像の予測ラベルを表示するDjangoのア…

2017,18年で便利だったpython, sql,linuxとかのコマンド・コードまとめ

2017〜2018年で頻繁に使ったコードのまとめで、個人的備忘録。 これからも追記はしてきます。pandasQ1.pandasで特定の列だけ演算をする場合下のようなDataFrame(df)で、特定の列('c')を-1する場合。 # df a, b, c, d, e 0 1 2 3 2 2 1 2 2 3 2 1 2 3 3 3 4 4…

プログラマーの目の酷使・疲れを回復させるオススメの11の方法【視力ケア】

プログラミングで仕事するようになってから、PCや勉強などで目をより使うことになった。過去の悪き呪いもあり、目が悪くなるのはやばいと思いかなりケアに徹してきた。その結果、個人的に目のケアで普段やってることをまとめておこうと思う。目を悪くしない…

GKE上のkubernetesで機械学習運用環境(MLops)を作成手順・コマンド・知識メモ

機械学習運用環境(MLops)の一部を話題のkubernetes(k8s)で作成してみた。GCPのGKE上でk8sを利用できるので、今回はGKE上で途中まで構築。今回参考にするMLopsは下の図。どうもこのサイトによるとメルカリでマイクロサービスとして運用されてるらしい このMLo…

Amazon sagemakerで機械学習基盤(MLops)のベース環境構築手順・使い方まとめ

機械学習基盤(MLops)をkubernetesで構築してたけど、amazon sagemakerを使ったら、kubernetesよりかなり簡単に構築できた。今回は、外部で学習したモデルでエンドポイント作成までやってみた。だいたい、MLopsをAmazon sagemakerで構築する前段階くらい。そ…

アソシエーション分析を使ったレコメンドアルゴリズム作成-機械学習・python

レコメンドは普通、評価値(レーティング)を使った手法がメインだが、今回は都合でレーティングがない環境下で、レコメンドアルゴリズムを作らなきゃならなかった。 そこで、アソシエーション分析を使ったレコメンドアルゴリズムを作ったので、その過程をま…

クラスタリング(k-means)で画像から色の検出(機械学習、opencv)

今回はクラスタリング手法で、画像の重要な色を検出するタスクをやった。ニューラルネットワークならより正確な検出が可能だけど、データセット作成もろもろコストがでかい。なので、昔からあるクラスタリング手法で手軽に、かつ精度よく色を検出してみた。…

AWSのGPU環境下でkerasを使った百万単位(ビックデータ)の画像分類の訓練、テスト、予測までの過程まとめ

今回はkerasを使って、AWSのGPU環境下で5百万枚の画像を訓練してみた。ラベル数は200ラベル。おそらくビックデータと呼ばれる規模だと思う。エラーとか、障壁が多々あったので、備忘録もかねて工程を一通りまとめてく目次 ・EC2にGPU適用&jupyter環境構築 ・…

xgboostの回帰モデルで精度検証から重要な特徴量選択までやってみた全行程まとめ(機械学習)

今回はkaggleでよくある特徴量エンジニアリングのテクを使って、精度向上から重要な特徴選択までをやった。普通は精度高ければ終わり的な感じだけど、今回は精度検証からさらに掘り下げて、特徴量の選択までやったので、その過程を書いてく。目次 ・プロジェ…

Djangoでアップロードした画像をCNNで予測し、結果を返すアプリを作ってみた(画像認識、機械学習)

kerasで作った画像分類器に画像を読み込ませ、予測したラベルのidを返すアプリ作った。以前、rubyで作ったことがあるけど、今回はpython専用のフレームワークDjangoを使って作成。画像分類器にはCNNを使ったので、GPUとか学習のところは割愛して、アプリ作成…

kerasでLSTM(QRNN)を使って異常検知手法で急上昇ワードをやってみた(機械学習-変化点検知)

急上昇ワード(バースト検知)とえば、googleやyahoo!でも似たようのがある。今回はあれほど高性能じゃないけど、急上昇ワードと同じ仕組みのものを異常検知手法でやってみた。目次 ・訓練 ・閾値の設定 ・テスト ・実際に急上昇ワードをやってみる今回はBigQu…

列名とかデータ加工に使うpandasの便利な機能まとめ (python・機械学習)

今回はデータ加工に使えるpandasの機能を紹介する。kaggleを含め、機械学習のデータ加工はpandasでの加工が多い。理由は単純にpandasはデータ加工において、扱いやすいから。今回はxgboostの特徴量を加工する機会があった。そのときに使ったり、調査したkagg…

異常検知(変化検知)の詳細と特異変換スペクトルと動的時間伸縮法まとめ(機械学習)

異常検知とは、機械学習の一手法で、普通の値のデータの中から極端に大きかったり、小さい値の「異常」なデータを見つけ出すものだ。 異常検知の用途で有名どころは巷では以下のようなものがメインらしい ・マーケティング =>流行のブレイクの検出 ・コン…

大学編入試験の英語(英作文)、口頭試験の対策等、使える情報をまとめてみた

大学編入というと最近では、ネット上でも具体的な情報が出回ってきた。しかし、口頭試験や専門的な科目の情報はまだ少ない。今回は質問をもらったので、編入試験に役立つ情報として口頭試験について、英語の勉強法等、編入あるあるの質問に回答していきたい…

川田まみの全ベストシングル、アルバムを聴いた僕がオススメする良曲26選【シャナ系あり】

川田まみさんの曲はアニメ界では有名で、アップテンポ系からバラードまで心が動かされる曲ばかり。川田まみは2001年から活動を開始し、音楽制作プロダクション「I’ve」のメンバーとして、アニメやゲーム関連の楽曲を多くリリース。2016年5月21日の「MAMI KAW…