vanhuyz's notes

Posts

May 2, 2017

Thử code CycleGAN biến ảnh cam thành ảnh táo với TensorFlow

Giới thiệu về CycleGAN Trước hết mời các bạn xem video này: Đây là thuật toán sử dụng Deep Learning để chuyển từ ảnh này sang ảnh kia mà vẫn giữ nguyên bố cục, chỉ thay đổi bề mặt của vật thể. Chẳng hạn chuyển từ ảnh ngựa thường sang ngựa vằn, chuyển ảnh cam thành ảnh táo, chuyển ảnh thành tranh… Không chỉ áp dụng với ảnh mà còn cả với video nữa, và như tác giả có nói là có thể realtime với video 60fps!
April 29, 2017

PRML - Chap 5: Neural networks

5.5.3 Invariances Trong bài toán thực tế, nhiều lúc kết quả dự đoán không đổi cho dù đầu vào có nhứng biến đổi nhất định. Chẳng hạn trong bài toán phân biệt ảnh chó với ảnh mèo thì còn mèo có nằm ở góc nào của ảnh thì vẫn là con mèo (translation invariance) kích cỡ ảnh hay con mèo có to nhỏ cỡ nào thì vẫn là con mèo (scale invariance) Dữ liệu mà có cực nhiều với đầy đủ các patterns thì máy có thể tự học được các thay đổi đó nhưng thực tế thì không như vậy.
April 29, 2017

PRML - Chap 4: Linear Models for Classification

4.3.1 Fixed basis functions Bài toán là phân loại các input vector x Áp 1 hàm phi tuyến cố định $\phi(x)$ vào thì bài toán trở thành phân loại các $\phi(x)$ → đường decision boundary sẽ trờ thành tuyến tính → bài toán trở nên đơn giản đi rất nhiều 4.3.2 Logistic regression Thuật toán này rất quan trọng nên anh em cần chú ý hiểu kỹ Tên là regression nhưng lại là thuật toán classification Trở lại bài toán phân biệt 2 lớp: data set $\{\phi_ n, t_ n\}$ với $t_ n \in \{0,1\}$ và $n=1,\ldots,N$ Hàm likelihood trở thành $$ p(\mathbf{t}|w) = \prod_ {n=1}^N y_ n^{t_ n}{1-y_ n}^{1-t_ n} $$ với $\mathbf{t} = (t_ 1,\ldots,t_ N)^T$ và $y_ n = p(C_ 1 | \phi_ n)=y(\phi) = \sigma(w^T\phi)$ là xác suất để $\phi_ n$ rơi vào lớp $C_ 1$.
April 29, 2017

PRML - Chap 3: Linear Models for Regression

The Evidence Approximation Trong Bayesian đối với linear model, ta đã thấy sự xuất hiện của $\alpha$ và $\beta$ là các hyperparameters của prior và noise. Trong chương này, ta sẽ cố gắng tìm các giá trị này dựa trên maximizing the magrinal likelihood function. Framework này được gọi là evidence approximation. Theo công thức Bayes: $$ p(\alpha, \beta|\mathbf{t}) \propto p(\mathbf{t}|\alpha,\beta)p(\alpha,\beta) $$ $p(\mathbf{t}|\alpha,\beta)$ là marginal likelihood function Evaluation of the evidence function Marginal likelihood function có thể triển khai theo $\mathbf{w}$ như sau:
April 29, 2017

PRML - Chap 2: Probability Distributions

2.3.3 Bayes’ theorem for Gaussian variables Tóm lại Nếu $p(x)$ và $p(y|x)$ đều là các phân phối chuẩn thì $p(y)$ và $p(x|y)$ cũng là các phân phối chuẩn. Công thức: Giả sử $$ \begin{align} p(x) & = \mathcal{N}(x|\mathbf{\mu}, \mathbf{\Lambda} ^{-1}\big) \\ p(y|x)& = \mathcal{N}\big(y|\mathbf{A}x+\mathbf{b}, \mathbf{L} ^{-1}\big) \\ \end{align} $$ thì $$ \begin{align} p(y) & = &\mathcal{N}\big(y|\mathbf{A}\mu+b,\mathbf{L}^{-1}+\mathbf{A}\mathbf{\Lambda}^{-1}\mathbf{A}^{\mathrm{T}}\big)\\ p(x|y) & = &\mathcal{N}\big(x|\Sigma{ \mathbf{A}^{\mathrm{T}}\mathbf{L}(y-b)+\mathbf{\Lambda}\mu},\Sigma\big) \end{align} $$ với $$ \Sigma = (\mathbf{\Lambda}+\mathbf{A}^{T}\mathbf{L}\mathbf{A})^{-1} $$ 2.3.4 Maximum likelihood for the Gaussian Data set
February 18, 2017

PRML - Chap 1: Probability Theory

Ví dụ Có 2 hộp: Đỏ, Lam Có 2 loại quả: Táo(màu lá), Cam(màu cam) Chọn 1 hộp bất kỳ rồi bốc 1 quả bất kỳ trong hộp đó Biến ngẫu nhiên (Random variable) B: hộp, có thể nhận 1 trong 2 giá trị r(đỏ), b (lam) F: quả, có thể nhận 1 trong 2 giá trị a(táo), o (cam) Ký hiệu xác suất Giả sử xác xuất chọn hộp đỏ trong 2 hộp là 4/10
February 2, 2017

エンジニアのための情報収集の話

ITエンジニアにとって情報収集は大事!どうやって効率的に集めるのか会社で発表しました!
January 16, 2017

AnacondaによるTensorFlowインストール手順

Anacondaによるインストールは大変楽という噂がありますので試してみました。 AnacondaはデフォルトNumPy、 Pandas、 SciPy、 Matplotlib、 Jupyterなどが入っています。 他のパッケージ、例えばTensorFlow、 OpenCVも簡単にインストールでき、pyenv/virtualenvがいらなくなるのでおすすめです。 環境: Ubuntu 16.04 Anacondaインストール スクリプトダウンロード URL変える可能性があるのでまずHP確認してください。 https://www.continuum.io/downloads#linux $ wget https://repo.continuum.io/archive/Anaconda3-4.2.0-Linux-x86_64.sh スクリプト実行 $ bash Anaconda3-4.2.0-Linux-x86_64.sh $ source ~/.bashrc TensorFlowインストール 詳細はこちら https://www.tensorflow.org/get_started/os_setup#anaconda_installation $ conda create -n tensorflow python=3.5 condaコマンドでインストールできるのは現在CPUバージョンだけです。GPUインストールしたい場合はpipでインストールしてください。 $ source activate tensorflow $ conda install -c conda-forge tensorflow 確認: $ python Python 3.5.2 |Continuum Analytics, Inc.| (default, Jul 2 2016, 17:53:06) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux Type "help", "copyright", "credits" or "license" for more information.
January 6, 2017

A note about Generative Adversarial Networks

Generative Adversarial Networks (GAN) Use a latent code Asymptotically consistent (unlike variational methods - e.g. VAE) No Markov chains needed (unlike Boltzmann Machines) Often regarded as producing the best samples (?) Discriminator The discriminator examines samples to determine whether they are real or fake. Cost: $$ J^{(D)}\big(\boldsymbol{\theta}^{(D)},\boldsymbol{\theta}^{(G)}\big)=-\frac{1}{2}\mathbb{E}_ {\boldsymbol{x} \sim p_ {data}} \log D(\boldsymbol{x}) - \frac{1}{2}\mathbb{E}_ \boldsymbol{z}\log(1-D(G(\boldsymbol{z}))) $$ This is just the standard cross-entropy cost that is minimized when training a standard binary classifier with a sigmoid output.
December 20, 2016

最尤推定は何ができるの?

英語: Maximum Likelihood Estimation (MLE) 最近仕事で確率モデルを扱う機会があって、パラメータ推定には最尤推定を使うことがありました。 でもわかるような、わからないような状態なので、式を立てて一度整理したいと思います。 例1 問題 データ $D= { x^{(1)},…, x^{(N)} }$(母集団) が与えられるとします。 このデータが正規分布に従うと仮定したら、最尤推定でパラメータを推定しましょう。 回答 まず正規分布の式です。 $$ p(x) = \frac{1}{\sqrt{2\pi\sigma^2}}\exp \big(-\frac{(x-\mu)^2}{2\sigma^2}\big) $$ 最尤推定はとは、尤度がもっとも高くなるようにパラメータを決定する方法です。「できるかぎりデータにフィットさせる」推定方法です1。 最尤推定の1つ目の条件は、データは独立に同一の確率分布(i.i.d)2に従うのです。 そこで、尤度(likelihood)は $$ p(D) = \prod_ {x^{(i)}\in D} p(x^{(i)}) $$ です。これを最大化したいです。 確率$p$は$[0,1]$の間の値なので、積をとるとコンピュータの計算に誤差が出るので実際、$\log$3をとることが多いです。 $$ \begin{align} \log p(D) &= \sum_ {x^{(i)}\in D} \log p(x^{(i)}) \\ &= \sum_ {x^{(i)}\in D} \log \Big(\frac{1}{\sqrt{2\pi\sigma^2}}\exp \big(-\frac{(x^{(i)}-\mu)^2}{2\sigma^2}\big)\Big) \\ &= -\frac{N}{2}\log(2\pi) - N\log (\sigma) - \sum_ {x^{(i)}\in D} \frac{(x^{(i)}-\mu)^2}{2\sigma^2} \end{align} $$ この場合のパラメータは$(\mu, \sigma)$ですね。
  • ««
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
  • »»
© vanhuyz's notes 2025