setコマンドについて
-e
オプション
実行したコマンドが失敗したときにシェルスクリプトの実行を終了する。
-x
オプション
実行するコマンドを出力する。
例
foobar:~ foobar$ echo $HOME + echo /Users/foobar /Users/foobar ++ printf '\e]7;%s\a' file://foobar.local/Users/foobar
Refs
ssh-keygen: command not foundのとき
$ sudo apt-get install -y openssh-server
で一緒にインストールされる。
Refs
tmpフォルダーのgit管理
GCPインスタンスのファイヤーウォール設定
強化学習について
強化学習について調べた際のメモです。
- 達成したいゴールがあるが、各行動に対する評価は与えられない場合
- 「行動の選択肢」と「報酬」
- 強化学習という名前は脳の学習メカニズムであるオペラント学習に由来する
- 報酬は「連続した行動の結果」に対して与えられる(フィードバックに時間差がある)
- 報酬から各行動に対する評価を自分で与える
- ステップごとの評価を与えなくて良いので教師あり学習よりも複雑な問題を扱える
- 学習に時間がかかる
- 状態S、モデルT(状態遷移の関数)、行動A、報酬Rでモデル化 → Markov Decision Process (MDP)
- 時間的な制約下で報酬を最大化するような、ポリシーπ(S → Aの関数)を獲得する問題
- 時間割引をすることでローリスクな行動ばかり取ってしまうのを防ぐ
- Value Iteration (幅優先探索?), Policy Iteration (深さ優先探索?)
- Q値 = 状態行動価値 = 「状態 s で行動 a を選択後、ずっと最適政策をとりつづけるときの利得の期待値」
- Sarsa
- 実際行動してみて一番価値が大きい行動を探す
- モンテカルロ法
- 報酬が得られるまで行動してみて、報酬を分配して各行動を評価する
- Q-Learning
- Tが不要
- 期待値(実際の報酬)と見込みの差分から学習する → TD学習
- 「状態sを離散化した数」×「行動の種類」の表
- 次の状態の価値を現在推定される値の最大値とする
- 探索と活用のトレードオフ (exploration and exploitation dilemma)
- ε-greedy法、Boltzmann分布を使った方法
- Deep Q-Leaning (DQN)
- A3C (Asynchronous Advantage Actor-Critic): 並列計算、Advantageによる報酬の計算、Actor-Critic
- TRPO, Generalised Advantage Estimator, UNREAL, PPO
Refs
- 強化学習で参考になったサイトまとめ - Qiita
- DQNの生い立ち + Deep Q-NetworkをChainerで書いた - Qiita
- ゼロからDeepまで学ぶ強化学習 - Qiita
- これから強化学習を勉強する人のための「強化学習アルゴリズム・マップ」と、実装例まとめ - Qiita
- Pythonではじめる強化学習 - Qiita
- DQNをKerasとTensorFlowとOpenAI Gymで実装する
- 強化学習入門 ~これから強化学習を学びたい人のための基礎知識~ - Platinum Data Blog by BrainPad
- これさえ読めばすぐに理解できる強化学習の導入と実践 - DeepAge
- 強化学習とは?(What is Reinforcement Learning?)
- 強化学習
- 強化学習で〇×ゲームに強いコンピュータを育てる(深層学習 Deep Learning) | 株式会社フォワードネットワーク
- 強化学習とは?ALPHAGOでも使われている強化学習を丁…|Udemy メディア
- 第1回 強化学習とは|Tech Book Zone Manatee
- 「AlphaGo Zero」の衝撃と強化学習の進化 | 日経 xTECH(クロステック)
- Deep Reinforcement Learning | DeepMind
- Machine Learning for Humans, Part 5: Reinforcement Learning
- Reinforcement Learning: 10 Breakthrough Technologies 2017 - MIT Technology Review
- Beginner's guide to Reinforcement Learning & its implementation in Python
- A brief introduction to reinforcement learning
- Reinforcement Learning Introduction
- Introduction to Learning to Trade with Reinforcement Learning – WildML
- Introduction to Various Reinforcement Learning Algorithms. Part I (Q-Learning, SARSA, DQN, DDPG)
- Deep Reinforcement Learning: Pong from Pixels
- Deep Reinforcement Learning Doesn't Work Yet
- Teaching
- 強化学習入門
- 深層強化学習:ピクセルから『ポン』 – 前編 | POSTD
- CartPoleでQ学習(Q-learning)を実装・解説【Phythonで強化学習:第1回】
- 【強化学習初心者向け】シンプルな実装例で学ぶSARSA法およびモンテカルロ法【CartPoleで棒立て:1ファイルで完結】 - Qiita
- http://sysplan.nams.kyushu-u.ac.jp/gen/papers/paper2012/A_BasisOfRL.pdf
- 強化学習 カテゴリーの記事一覧 - いものやま。
- http://www.sakurai.comp.ae.keio.ac.jp/classes/infosem-class/2009/12RL.pdf
- http://mikilab.doshisha.ac.jp/dia/seminar/2001/pdf/ec_03.pdf
【追記】 - ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learni…
GANについて
GAN(Generative Adversarial Network)について調べた際のメモです。
GANとは
- Ian Goodfellow (@goodfellow_ian)が2014年に発表1
- 生成モデル: 訓練データの分布と生成データの分布が同じになるよう学習
- 訓練データに対してパラメータが小さく、重要な特徴を学習する
- GeneratorとDiscriminatorに分かれる
- Generatorは訓練データと同じようなデータを生成するように学習
- Discriminatorは与えられたデータが訓練のものか、生成されたものかを見分けるように学習
- Generatorの学習 → Discriminatorの学習 → Generatorの学習 → ...、とイタチごっこをする
- Dの学習をk回繰り返したらGを1回学習する、の繰り返し(k=1が多い)
- Generatorはノイズを元にデータを生成する
- DCGAN(Deep Convolutional GAN): CNNを使ったモデル → 画像の生成 (元の論文2ではベッドルームの画像の生成)
- プーリングしない、全結合しない、BatchNormalization、Leaky ReLU
- LAPGAN, SRGAN, pix2pix, StackGAN, SimGAN, 3D-GAN, CycleGAN, DiscoGAN...
- MSEだと平均的な(ぼやけた)画像になる(VAE)が、GANだとシャープな画像が生成できる
- 4Kイメージを8Kにしたり
- 生成した画像に和や差の演算ができる
- Deep Learningで課題である「教師なし学習」「タグ無しデータ」を解決する可能性がある
Refs
- はじめてのGAN
- Generative Adversarial Networks (GAN) とは何か、どんなブレークスルーが期待でき如何なる危険性があるか « Emerging Technology Review
- Generative Adversarial Network とは――トップ研究者が解説 | NVIDIA
- できるだけ丁寧にGANとDCGANを理解する - 午睡二時四十分
- ディープラーニングネットワーク (GAN と Siamese) を組み合わせハイクオリティでリアルなイメージを生成 | Amazon Web Services ブログ
- GAN(と強化学習との関係)
- GANとDCGANの論文を読んだ。 - rkgkpyrk
- 人工知能の注目トレンド「GAN:敵対的生成ネットワーク」とは | ROBOTEER
- GAN(Generative Adversarial Networks)を学習させる際の14のテクニック - Qiita
- 人工知能による画像認識/生成アルゴリズムとして浸透しつつある「GAN」とは | SiTest (サイテスト) ブログ
- [DL輪読会] GAN系の研究まとめ (NIPS2016とICLR2016が中心)
- Conditional GANをchainerで実装した - Qiita
- Conditional DCGANで画像生成 - kumilog.net
- Conditional GANをMNISTとCIFAR-10で試してみる - 緑茶思考ブログ
- NVIDIAら、Conditional GANを用いて任意の画像から2048×1024高解像度のフォトリアリスティックな画像合成モデルを生成できる手法を論文にて発表 | Seamless
- KerasでDCGAN書く - Qiita
- GitHub - eriklindernoren/Keras-GAN: Keras implementations of Generative Adversarial Networks.
- [1701.00160] NIPS 2016 Tutorial: Generative Adversarial Networks
- Chainerで顔イラストの自動生成 - Qiita
- TensorFlowによるDCGANでアイドルの顔画像生成 - すぎゃーんメモ
- なんちゃって!DCGANでコンピュータがリアルな絵を描く - PlayGround
- Chainerを使ってコンピュータにイラストを描かせる - Qiita
VSCodeでのGOPATH設定
{ "go.inferGopath": true, "go.gopath": "/your/path/for/specific/project" }
この順番じゃないとダメ。逆にするとinferGopathがgopathを上書きしてしまう1っぽい。
やっぱり上書きされてしまった。ちゃんとgo.gopathを書いてあげないといけないみたい。。。
{ "go.gopath": "${workspaceRoot}:${workspaceRoot}/vendor" }
-
「Setting go.inferGopath overrides all of the above」– GOPATH in the VS Code Go extension · Microsoft/vscode-go Wiki · GitHub↩