简要
思维简史这本书是伦纳德·蒙洛迪诺关于人类思维发展、进步的“历史”系书籍。由于作者本身为物理学家,书中后半段对物理发展的描写比较多。
最终训练模型的效果需要达到,给模型之前完全没见过的 $N$ 个新类,每个新类中只有 $K$ 个样本。该模型需要能够通过利用这仅有的 $N \times K$ 个样本,来对接下来给出的新样本进行分类。在 RelationNet work 1 的问题描述中,将这给出的 $N \times K$ 个样本集称为 Support Set ,待分类的图片集称为 Query Set。
Learning to Compare:Relation Network for Few-Shot Learning CVPR 2018 ↩
当我们在拷贝或者解压的时候,我们需要一个进度条。但是遗憾的是,Linux 自带的指令的选项中并没有这个选项,所以我们需要手动给他创造一个。这时候就用到了一个 Github 上开源的软件 cv
,地址在这里。
上一篇我们讲了 MonteCarlo 和 TD 方法,他们都是用于在五模型的时候估算当前各个状态的 Value 的,即已经有了 Policy Evaluation 部分。我们还需要一个 Policy Impovement 的部分。这部分就是来解决这个问题的。在优化控制部分,我们根据是否根据已经拥有他人的经验来更新自身的控制策略,将优化控制分类下面两类:
这一课帅小哥主要讲的内容是预测的部分,在第五课会加入控制的部分。其中预测的部分主要是两个相似的算法,一个为 Monte-Carlo(MC),另一个为 Temporal-Difference(TD)。两者的区别主要在于,MC 为需要在出现终止状态后,才能得到 Reward,而 TD 则是实时的。
Markov Decision Process 是强化学习的核心,帅气的 David 说所有的强化学习问题都可以转化为 MDP,即就像 RBM 是深度学习的发源地一样,MDP 是整个强化学习的基础。而和名字一样,我们需要首先理解 Markov 和 Decision(Reward),接下来会从 Markov 过程到 Markov 过程加上 Reward 之后的马尔可夫奖励过程,最后引入 Bellman 方程,通过解 Bellman 方程的方式深入了解到底何为决策。
这节课是接着第二节课的,个人对这节课的总结只有一句话对 Bellman 方程多次迭代能得到最优策略和最大价值。课程开始的时候,David 大佬答大体讲了下什么是动态规划,这个想必大家都很熟悉了,就不赘述了。我们仔细想 Bellman 方程其实是完美的复合了动态规划的要求的条件的。所以我们就有了以下的内容。
强化学习在不同领域有不同的表现形式:神经科学、心理学、计算机科学、工程领域、数学、经济学等有不同的称呼。
而强化学习是单独的一个机器学习的分支,他不属于监督学习,也不属于无监督学习。他的特点如下:
注:之前的深度学习,机器学习这些是基于数据的,而强化学习则是基于模拟实验的。
这种导入非常直白,就是使用 Numpy 把外部的数据进行导入,然后转换成 tf.Tensor
,之后使用 Dataset.from_tensor_slices()
。就可以成功导入了。简单的案例如下:
1 |
|
上面的简单的实例有一个很大的问题,就是 features
和 labels
会作为 tf.constant()
指令嵌入在 Tensorflow 的图中,会浪费很多内存。所以我们可以根据 tf.palceholder()
来定义 Dataset
,同时在对数据集初始化的时候送入 Numpy 数组。
1 |
|
Seaborn 是一个数据可视化的库,主要用来生成热力图的,详情查看它的官网。这个工具一定要混合 matplotlib
来使用,我们在做好图之后还是必须要用 plt.show
才能展示图片,同时图片的布局也是靠 matplotlib
。