<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.9.0">Jekyll</generator><link href="https://tiantengfei.github.io/atom.xml" rel="self" type="application/atom+xml" /><link href="https://tiantengfei.github.io/" rel="alternate" type="text/html" /><updated>2022-01-06T03:47:53+00:00</updated><id>https://tiantengfei.github.io/atom.xml</id><title type="html">My Awesome Blog</title><subtitle>It really is the best.</subtitle><author><name>{&quot;name&quot;=&gt;nil, &quot;picture&quot;=&gt;nil, &quot;email&quot;=&gt;nil, &quot;twitter&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;title&quot;=&gt;nil, &quot;url&quot;=&gt;nil, &quot;icon&quot;=&gt;nil}]}</name></author><entry><title type="html">My Git Set Up</title><link href="https://tiantengfei.github.io/engineer/my-git/" rel="alternate" type="text/html" title="My Git Set Up" /><published>2019-11-02T00:00:00+00:00</published><updated>2019-11-02T00:00:00+00:00</updated><id>https://tiantengfei.github.io/engineer/my-git</id><content type="html" xml:base="https://tiantengfei.github.io/engineer/my-git/">&lt;p&gt;The following is setting up for my os.&lt;/p&gt;

&lt;h2 id=&quot;merge&quot;&gt;merge&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;keep local: grep -lr &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;'&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;'&lt;/code&gt; . &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;|&lt;/code&gt; xargs git checkout –ours&lt;/li&gt;
  &lt;li&gt;keep others: grep -lr &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;'&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;'&lt;/code&gt; . &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;|&lt;/code&gt; xargs git checkout –theirs&lt;/li&gt;
&lt;/ul&gt;</content><author><name>{&quot;name&quot;=&gt;nil, &quot;picture&quot;=&gt;nil, &quot;email&quot;=&gt;nil, &quot;twitter&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;title&quot;=&gt;nil, &quot;url&quot;=&gt;nil, &quot;icon&quot;=&gt;nil}]}</name></author><category term="engineer" /><category term="os" /><summary type="html">The following is setting up for my os.</summary></entry><entry><title type="html">My os Set Up</title><link href="https://tiantengfei.github.io/engineer/my-os/" rel="alternate" type="text/html" title="My os Set Up" /><published>2019-10-26T00:00:00+00:00</published><updated>2019-10-26T00:00:00+00:00</updated><id>https://tiantengfei.github.io/engineer/my-os</id><content type="html" xml:base="https://tiantengfei.github.io/engineer/my-os/">&lt;p&gt;The following is setting up for my os.&lt;/p&gt;

&lt;h3 id=&quot;default-python-to-python3&quot;&gt;default python to python3&lt;/h3&gt;
&lt;h4 id=&quot;1-if-python3-has-be-installed-by-homebrew-turn-to-3&quot;&gt;1. if python3 has be installed by Homebrew, turn to 3.&lt;/h4&gt;
&lt;p&gt;Otherwise:&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;brew update
brew install python
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h4 id=&quot;2-check-the-location-python3-has-been-installed&quot;&gt;2. check the location python3 has been installed&lt;/h4&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;brew info python
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;the info is:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Caveats
Python has been installed as
  /usr/local/bin/python3

Unversioned symlinks python, python-config, pip etc. pointing to
python3, python3-config, pip3 etc., respectively, have been installed into
  /usr/local/opt/python/libexec/bin
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4 id=&quot;3-edit-path&quot;&gt;3. edit PATH:&lt;/h4&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;export PATH=/usr/local/opt/python/libexec/bin:$PATH
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Note: /usr/local/opt/python/libexec/bin must be before $PATH, which will reference to
python3 when excuting the command python.&lt;/p&gt;

&lt;h3 id=&quot;python-site-packages-path&quot;&gt;python site-packages path&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;
    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;python -c &quot;import site; print(site.getsitepackages())&quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;cmake-compile-json&quot;&gt;cmake compile json&lt;/h3&gt;
&lt;p&gt;set(CMAKE_EXPORT_COMPILE_COMMANDS ON)&lt;/p&gt;

&lt;h3 id=&quot;fzfvim-command-ag&quot;&gt;fzf.vim command “Ag”&lt;/h3&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;yum install epel-release.noarch the_silver_searcher
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;clang&quot;&gt;clang&lt;/h3&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;sudo yum install centos-release-scl
sudo yum install llvm-toolset-7
scl enable llvm-toolset-7 bash
clang --version
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content><author><name>{&quot;name&quot;=&gt;nil, &quot;picture&quot;=&gt;nil, &quot;email&quot;=&gt;nil, &quot;twitter&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;title&quot;=&gt;nil, &quot;url&quot;=&gt;nil, &quot;icon&quot;=&gt;nil}]}</name></author><category term="engineer" /><category term="os" /><summary type="html">The following is setting up for my os.</summary></entry><entry><title type="html">Vim Set Up</title><link href="https://tiantengfei.github.io/engineer/my-vim/" rel="alternate" type="text/html" title="Vim Set Up" /><published>2019-10-23T00:00:00+00:00</published><updated>2019-10-23T00:00:00+00:00</updated><id>https://tiantengfei.github.io/engineer/my-vim</id><content type="html" xml:base="https://tiantengfei.github.io/engineer/my-vim/">&lt;p&gt;The following is setting up for my vim.&lt;/p&gt;

&lt;h2 id=&quot;plugin&quot;&gt;Plugin&lt;/h2&gt;
&lt;h4 id=&quot;curtineincswvim&quot;&gt;CurtineIncSw.vim&lt;/h4&gt;
&lt;p&gt;Toggle between &lt;em&gt;.c&lt;/em&gt; and &lt;em&gt;.h&lt;/em&gt; buffers.&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;map &amp;lt;C-h&amp;gt; :call CurtineIncSw()&amp;lt;CR&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h4 id=&quot;fzfvim&quot;&gt;fzf.vim&lt;/h4&gt;
&lt;ul&gt;
  &lt;li&gt;ctrl-t: open in a new tab&lt;/li&gt;
  &lt;li&gt;ctrl-x: a new split&lt;/li&gt;
  &lt;li&gt;ctrl-v: a new vertical split&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;vim-markdown&quot;&gt;vim-markdown&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;zr: reduces fold level throughout the buffer&lt;/li&gt;
  &lt;li&gt;zR: opens all folds&lt;/li&gt;
  &lt;li&gt;zm: increases fold level throughout the buffer&lt;/li&gt;
  &lt;li&gt;zM: folds everything all the way&lt;/li&gt;
  &lt;li&gt;za: open a fold your cursor is on&lt;/li&gt;
  &lt;li&gt;zA: open a fold your cursor is on recursively&lt;/li&gt;
  &lt;li&gt;zc: close a fold your cursor is on&lt;/li&gt;
  &lt;li&gt;zC: close a fold your cursor is on recursively&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;python-mode&quot;&gt;python-mode&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;zf#j creates a fold from the cursor down # lines.&lt;/li&gt;
  &lt;li&gt;zf/string creates a fold from the cursor to string .&lt;/li&gt;
  &lt;li&gt;zj moves the cursor to the next fold.&lt;/li&gt;
  &lt;li&gt;zk moves the cursor to the previous fold.&lt;/li&gt;
  &lt;li&gt;zo opens a fold at the cursor.&lt;/li&gt;
  &lt;li&gt;zO opens all folds at the cursor.&lt;/li&gt;
  &lt;li&gt;zc close a fold at the cursor.&lt;/li&gt;
  &lt;li&gt;zm increases the foldlevel by one.&lt;/li&gt;
  &lt;li&gt;zM closes all open folds.&lt;/li&gt;
  &lt;li&gt;zr decreases the foldlevel by one.&lt;/li&gt;
  &lt;li&gt;zR decreases the foldlevel to zero – all folds will be open.&lt;/li&gt;
  &lt;li&gt;zd deletes the fold at the cursor.&lt;/li&gt;
  &lt;li&gt;zE deletes all folds.&lt;/li&gt;
  &lt;li&gt;[z move to start of open fold.&lt;/li&gt;
  &lt;li&gt;]z move to end of open fold.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;rtags&quot;&gt;rtags&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;install: brew install rtags&lt;/li&gt;
  &lt;li&gt;start up: brew services start rtags&lt;/li&gt;
  &lt;li&gt;Start the RTags daemon: rdm&amp;amp;&lt;/li&gt;
  &lt;li&gt;Index the RTags project: rc -J .&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;commonly-used-command&quot;&gt;Commonly used command&lt;/h2&gt;
&lt;h3 id=&quot;show-variable-type&quot;&gt;show variable type&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;[i: display the definition of a variable&lt;/li&gt;
  &lt;li&gt;[d: display a macro definition&lt;/li&gt;
  &lt;li&gt;[I: display all the lines containing the variable name&lt;/li&gt;
  &lt;li&gt;gd: go to definition of local variable (first occurrence of keyword in current function).&lt;/li&gt;
  &lt;li&gt;gD: go to definition of global variable (first occurrence of keyword in current file).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;change-window-split-size&quot;&gt;change window split size&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;ctrl+w +/- :  increase/decrease height (ex. 20&lt;C-w&gt;+)&lt;/C-w&gt;&lt;/li&gt;
  &lt;li&gt;ctrl+w &amp;gt;/&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;&lt;/code&gt;:  increase/decrease width(ex. 30&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;&lt;/code&gt;C-w&amp;gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;&lt;/code&gt;)&lt;/li&gt;
  &lt;li&gt;ctrl+w &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_&lt;/code&gt; : set height (ex.  50&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;&lt;/code&gt;C_w&amp;gt;_)&lt;/li&gt;
  &lt;li&gt;ctrl+w &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;|&lt;/code&gt; : set width&lt;/li&gt;
  &lt;li&gt;ctrl+w = : equalize width and height of all windows
    &lt;h3 id=&quot;add-same-word-for-multi-lines&quot;&gt;add same word for multi lines&lt;/h3&gt;
  &lt;/li&gt;
  &lt;li&gt;step 1:Ctrl+v&lt;/li&gt;
  &lt;li&gt;step 2: I&lt;/li&gt;
  &lt;li&gt;step 3: write the words you want to add&lt;/li&gt;
  &lt;li&gt;step 4: ESC&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;tagbar-for-golang&quot;&gt;tagbar for golang&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;Install gotags
    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;go get -u github.com/jstemmer/gotags
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
  &lt;/li&gt;
  &lt;li&gt;Add the following to ~/.vimrc
    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;let g:tagbar_type_go = {
  \ 'ctagstype' : 'go',
  \ 'kinds'     : [
      \ 'p:package',
      \ 'i:imports:1',
      \ 'c:constants',
      \ 'v:variables',
      \ 't:types',
      \ 'n:interfaces',
      \ 'w:fields',
      \ 'e:embedded',
      \ 'm:methods',
      \ 'r:constructor',
      \ 'f:functions'
  \ ],
  \ 'sro' : '.',
  \ 'kind2scope' : {
      \ 't' : 'ctype',
      \ 'n' : 'ntype'
  \ },
  \ 'scope2kind' : {
      \ 'ctype' : 't',
      \ 'ntype' : 'n'
  \ },
  \ 'ctagsbin'  : 'gotags',
  \ 'ctagsargs' : '-sort -silent'
\ }
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;ctags-for-golang&quot;&gt;ctags for golang&lt;/h2&gt;
&lt;p&gt;Add the following to ~/.ctags&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;--langdef=Go
--langmap=Go:.go
--regex-Go=/func([ \t]+\([^)]+\))?[ \t]+([a-zA-Z0-9_]+)/\2/d,func/
--regex-Go=/var[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)/\1/d,var/
--regex-Go=/type[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)/\1/d,type/`
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content><author><name>{&quot;name&quot;=&gt;nil, &quot;picture&quot;=&gt;nil, &quot;email&quot;=&gt;nil, &quot;twitter&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;title&quot;=&gt;nil, &quot;url&quot;=&gt;nil, &quot;icon&quot;=&gt;nil}]}</name></author><category term="engineer" /><category term="tool" /><summary type="html">The following is setting up for my vim.</summary></entry><entry><title type="html">Vanilla policy gradient</title><link href="https://tiantengfei.github.io/papers/Vanilla-Policy-Gradient/" rel="alternate" type="text/html" title="Vanilla policy gradient" /><published>2019-10-19T00:00:00+00:00</published><updated>2019-10-19T00:00:00+00:00</updated><id>https://tiantengfei.github.io/papers/Vanilla-Policy-Gradient</id><content type="html" xml:base="https://tiantengfei.github.io/papers/Vanilla-Policy-Gradient/">&lt;p&gt;The value-function approach on reinforcement learning has worked well in many applications. It obtains the policy by selecting the action in each state with highest estimated value iteratively.&lt;/p&gt;

&lt;p&gt;But the approach faces several probelms. First, the policy obtained is a deterministic policy whereas the optimal policy is often stochastic in reality. Second, a little change to value fuction may result in a diffrent action is selected, which becomes a key obstacle of convergence assurances for algorithms following the value-function apporoach like Q-learning, Sarsa and so on.&lt;/p&gt;

&lt;p&gt;Sutton,David, et al explore an alternative approach in which the policy is explicitly represented by its own function approximator, independent of the value function, and is updated according to the gradient of expected reward with respect to the policy parameters.&lt;/p&gt;

&lt;p&gt;In reinforcement learning, the state, action, and reward are denoted \(s_t \epsilon \mathit{S}\),\(a_t \epsilon \mathit{A}\) and 
\(r_t \epsilon \mathit{R}\) respectively. The environment’s dynamics are charactrized by state transition probabilities, \( P_{ss’}^{a}=P_r\left \{ s_{t+1}=s’|s_t=s,a_t=a\right \} \) and expected rewards 
\( R_{s}^{a}=E\left \{r_{t+1}|s_t=s,a_t=a\right \} \), \( \forall s,s’ \epsilon S, a \epsilon A  \). The agent makes decision by a policy, \( \pi(s,a,\theta )=P_r(a_t=a|s_t=s,\theta) \), \( \forall s \epsilon S, a \epsilon A  \), where \( \theta \epsilon \Re^l \) is a paramter vector.&lt;/p&gt;

&lt;p&gt;There are two ways to formulate the agent’s objective with function approximation. The first is the average reward formulation. The long-term expected rewards per step, \( \rho(\pi) \) is the objective:&lt;/p&gt;

\[\rho(\pi)= \lim_{n \to\infty  }\frac{1}{n}E\left\{r_1+r_2+....+r_n|\pi\right \}=\sum_{s}d^{\pi}(s)\sum_{a}\pi(s,a)R_s^a,\]

&lt;p&gt;where \( d^{\pi}(s)=\lim_{t \to\infty}=P_r \left \{s_t=s_0, \pi \right \} \) which is the stationary distribution of states under \( \pi \).&lt;br /&gt;
The state-action value function is defined as:&lt;/p&gt;

\[Q^{\pi}(s,a)=\sum_{t=0}^{\infty}E\left \{ r_t- \rho(\pi)|s_0=s, a_0=a, \pi \right \},\forall s \epsilon S, a \epsilon A.\]

&lt;p&gt;The second formulation is that in which there is a designated start state \( s_0 \). The objective \( \rho(\pi) \) is defined as:&lt;/p&gt;

\[\rho(\pi)=E\left \{ \sum_{t=1}^{\infty}r^{t-1}r_t|s_0, \pi \right\},\]

&lt;p&gt;And the state-action value function is defined as:&lt;/p&gt;

\[Q^{\pi}(s,a)=E\left\{ \sum_{k=1}^{\infty}r^{k-1}r_t+k|s_t=s,a_t=a,\pi\right \},\]

&lt;p&gt;where \( r \epsilon \left [0,1 \right] \) is a discount rate.&lt;/p&gt;

&lt;p&gt;Let \( \theta \) denote the vector of policy\(\pi(s,a,\theta)\) parameters and \( \rho(\pi) \) the performance of the corresponding policy, the policy gradient is:&lt;/p&gt;

\[\frac{\partial \rho}{\partial \theta}=\sum_{s}d^{\pi}(s)\sum_{a}\frac{\partial \pi(s,a)}{\partial \theta} Q^{\pi}(s,a)  \quad \quad  (1),\]

&lt;p&gt;where the \(d^{\pi}(s) \) has no dependence on \( \theta \).&lt;br /&gt;
 In equation (1), \( Q_{\pi}(s,a) \) is not konwn and must be estimated. Of course, a natural thought is to use the actual returns, \( R_t=\sum_{k=1}^{\infty}r_{t+k}-\rho(\pi)\).&lt;br /&gt;
 Now consider if \(Q^{\pi} \) can be approximated by a learned function. &lt;br /&gt;
 Assumate \( f_w:S\times A\rightarrow \Re \) is the approximation to \( Q^{\pi} \) with paramter \(w\).  It is natural to learn \( f_w \)  by following \( \pi \) and updating \(w\) by minize:&lt;/p&gt;

\[\left [ \hat{Q_{\pi}}(s_t,a_t) - f_w(s_t, a_t) \right ]^{2},\]

&lt;p&gt;where \( \hat{Q_{\pi}}(s_t, a_t) \) is the unbiased estimator of \( Q_{\pi}(s_t, a_t)\).&lt;br /&gt;
 When such a process has converged to a local optimum, then:&lt;/p&gt;

\[\sum_{s}d^{\pi}(s)\sum_{a}\pi(s,a)\left [ Q_{\pi}(s_t,a_t) - f_w(s_t, a_t) \right ]\frac{\partial f_w(s,a)}{\partial w}=0. \quad \quad (2)\]

&lt;p&gt;if\(f_w\) is compatible with the policy parameterization that&lt;/p&gt;

\[\frac{\partial f_w(s,a)}{\partial w}=\frac{\pi(s,a)}{\partial \theta} \frac{1}{\pi(s,a)}. \quad \quad (3)\]

&lt;p&gt;Combine (2) and (3) then&lt;/p&gt;

\[\frac{\partial \rho}{\partial \theta}=\sum_{s}d^{\pi}(s)\sum_{a}\frac{\partial \pi(s,a)}{\partial \theta} f_w(s,a).\quad\quad(4)\]

&lt;p&gt;The detail how to get (4) and how to proof the convergence of the policy iteration by equation (4), please see the &lt;a href=&quot;#reference_1&quot;&gt;paper (1)&lt;/a&gt; in the reference.&lt;/p&gt;

&lt;h2 id=&quot;reference&quot;&gt;Reference&lt;/h2&gt;
&lt;p&gt;(1)&lt;a id=&quot;reference_1&quot;&gt; &lt;/a&gt;&lt;a href=&quot;http://papers.nips.cc/paper/1713-policy-gradient-methods-for-reinforcement-learning-with-function-approximation.pdf&quot;&gt;Sutton, Richard S., et al. “Policy gradient methods for reinforcement learning with function approximation.” Advances in neural information processing systems. 2000.&lt;/a&gt;&lt;/p&gt;</content><author><name>{&quot;name&quot;=&gt;nil, &quot;picture&quot;=&gt;nil, &quot;email&quot;=&gt;nil, &quot;twitter&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;title&quot;=&gt;nil, &quot;url&quot;=&gt;nil, &quot;icon&quot;=&gt;nil}]}</name></author><category term="papers" /><category term="reinforcement learning" /><summary type="html">The value-function approach on reinforcement learning has worked well in many applications. It obtains the policy by selecting the action in each state with highest estimated value iteratively.</summary></entry><entry><title type="html">Awesome site</title><link href="https://tiantengfei.github.io/awesome%20site/awesome_site/" rel="alternate" type="text/html" title="Awesome site" /><published>2019-09-07T00:00:00+00:00</published><updated>2019-09-07T00:00:00+00:00</updated><id>https://tiantengfei.github.io/awesome%20site/awesome_site</id><content type="html" xml:base="https://tiantengfei.github.io/awesome%20site/awesome_site/">&lt;p&gt;The fllowing is the papers I am reading and have read.&lt;/p&gt;

&lt;h2 id=&quot;computer-vision&quot;&gt;Computer Vision&lt;/h2&gt;
&lt;h2 id=&quot;nlp&quot;&gt;NLP&lt;/h2&gt;

&lt;h2 id=&quot;reinforce-learning&quot;&gt;Reinforce Learning&lt;/h2&gt;</content><author><name>{&quot;name&quot;=&gt;nil, &quot;picture&quot;=&gt;nil, &quot;email&quot;=&gt;nil, &quot;twitter&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;title&quot;=&gt;nil, &quot;url&quot;=&gt;nil, &quot;icon&quot;=&gt;nil}]}</name></author><category term="awesome site" /><category term="machine learning" /><summary type="html">The fllowing is the papers I am reading and have read.</summary></entry><entry><title type="html">My paper reading list</title><link href="https://tiantengfei.github.io/papers/paper-reading-list/" rel="alternate" type="text/html" title="My paper reading list" /><published>2019-09-07T00:00:00+00:00</published><updated>2019-11-04T09:46:59+00:00</updated><id>https://tiantengfei.github.io/papers/paper-reading-list</id><content type="html" xml:base="https://tiantengfei.github.io/papers/paper-reading-list/">&lt;p&gt;The fllowing is the papers I am reading and have read.&lt;/p&gt;

&lt;h2 id=&quot;computer-vision&quot;&gt;Computer Vision&lt;/h2&gt;
&lt;h2 id=&quot;nlp&quot;&gt;NLP&lt;/h2&gt;
&lt;ul class=&quot;task-list&quot;&gt;
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; class=&quot;task-list-item-checkbox&quot; disabled=&quot;disabled&quot; checked=&quot;checked&quot; /&gt;&lt;a href=&quot;http://papers.nips.cc/paper/7181-attention-is-all-you-need&quot;&gt;Vaswani, Ashish, et al. “Attention is all you need.” Advances in neural information processing systems. 2017.&lt;/a&gt;&lt;/li&gt;
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; class=&quot;task-list-item-checkbox&quot; disabled=&quot;disabled&quot; checked=&quot;checked&quot; /&gt;&lt;a href=&quot;https://arxiv.org/abs/1901.02860&quot;&gt;Dai, Zihang, et al. “Transformer-xl: Attentive language models beyond a fixed-length context.” arXiv preprint arXiv:1901.02860 (2019).&lt;/a&gt;&lt;/li&gt;
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; class=&quot;task-list-item-checkbox&quot; disabled=&quot;disabled&quot; checked=&quot;checked&quot; /&gt;&lt;a href=&quot;https://arxiv.org/abs/1810.04805&quot;&gt;Devlin, Jacob, et al. “Bert: Pre-training of deep bidirectional transformers for language understanding.” arXiv preprint arXiv:1810.04805 (2018).&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;reinforce-learning&quot;&gt;Reinforce Learning&lt;/h2&gt;
&lt;ul class=&quot;task-list&quot;&gt;
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; class=&quot;task-list-item-checkbox&quot; disabled=&quot;disabled&quot; checked=&quot;checked&quot; /&gt;&lt;a href=&quot;https://arxiv.org/abs/1506.02438&quot;&gt;Schulman, John, et al. “High-dimensional continuous control using generalized advantage estimation.” arXiv preprint arXiv:1506.02438 (2015).&lt;/a&gt;&lt;/li&gt;
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; class=&quot;task-list-item-checkbox&quot; disabled=&quot;disabled&quot; checked=&quot;checked&quot; /&gt;&lt;a href=&quot;http://discovery.ucl.ac.uk/10045895/1/agz_unformatted_nature.pdf&quot;&gt;Silver, David, et al. “Mastering the game of go without human knowledge.” Nature 550.7676 (2017): 354.&lt;/a&gt;&lt;/li&gt;
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; class=&quot;task-list-item-checkbox&quot; disabled=&quot;disabled&quot; checked=&quot;checked&quot; /&gt;&lt;a href=&quot;http://proceedings.mlr.press/v48/duan16.pdf&quot;&gt;Duan, Yan, et al. “Benchmarking deep reinforcement learning for continuous control.” International Conference on Machine Learning. 2016.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content><author><name>{&quot;name&quot;=&gt;nil, &quot;picture&quot;=&gt;nil, &quot;email&quot;=&gt;nil, &quot;twitter&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;title&quot;=&gt;nil, &quot;url&quot;=&gt;nil, &quot;icon&quot;=&gt;nil}]}</name></author><category term="papers" /><category term="machine learning" /><summary type="html">The fllowing is the papers I am reading and have read.</summary></entry><entry><title type="html">MathJax Example</title><link href="https://tiantengfei.github.io/mathjax-example/" rel="alternate" type="text/html" title="MathJax Example" /><published>2015-08-10T12:08:50+00:00</published><updated>2015-08-10T12:08:50+00:00</updated><id>https://tiantengfei.github.io/mathjax-example</id><content type="html" xml:base="https://tiantengfei.github.io/mathjax-example/">&lt;p&gt;&lt;a href=&quot;http://www.mathjax.org/&quot;&gt;MathJax&lt;/a&gt; is a simple way of including Tex/LaTex/MathML based mathematics in HTML webpages. To get up and running you need to include the MathJax script in the header of your github pages page, and then write some maths. For LaTex, there are two delimiters you need to know about, one for block or displayed mathematics &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\[ ... \]&lt;/code&gt;, and the other for inline mathematics &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\( ... \)&lt;/code&gt;.&lt;/p&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;p&gt;To enable MathJax support be sure Kramdown is your Markdown flavor of choice and MathJax is set to true in your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_config.yml&lt;/code&gt; file.&lt;/p&gt;

&lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;markdown&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;kramdown&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;mathjax&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

\[a^2 + b^2 = c^2\]

&lt;p&gt;Here is an example MathJax inline rendering \( 1/x^{2} \), and here is a block rendering:&lt;/p&gt;

&lt;p&gt;\[ \frac{1}{n^{2}} \]&lt;/p&gt;

&lt;p&gt;The only thing to look out for is the escaping of the backslash when using markdown, so the delimiters become &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\\[ ... \\]&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\\( ... \\)&lt;/code&gt; for inline and block maths respectively.&lt;/p&gt;

\[\mathbf{X}\_{n,p} = \mathbf{A}\_{n,k} \mathbf{B}\_{k,p}\]</content><author><name>{&quot;name&quot;=&gt;nil, &quot;picture&quot;=&gt;nil, &quot;email&quot;=&gt;nil, &quot;twitter&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;title&quot;=&gt;nil, &quot;url&quot;=&gt;nil, &quot;icon&quot;=&gt;nil}]}</name></author><summary type="html">MathJax is a simple way of including Tex/LaTex/MathML based mathematics in HTML webpages. To get up and running you need to include the MathJax script in the header of your github pages page, and then write some maths. For LaTex, there are two delimiters you need to know about, one for block or displayed mathematics \[ ... \], and the other for inline mathematics \( ... \).</summary></entry></feed>