Proof-of-stake(POS)是如何工作的

以太坊昨天完成了从pow到pos的升级,这将大大节省资源,但同时也可能隐含巨大的隐患 什么是共识机制 区块链本质上是一个数据库,它满足以下特性: 它同时有多个管理者,只有他们有权修改数据库,每个管理者手上都有该数据库的备份。 对数据库做任何修改操作都将获得奖励。 必须保证任何时候都有一半以上的管理者手上是数据库备份是一致的。因此,对数据库任何的修改请求都必须 …

OpenCV中的Canny()函数

Canny()函数用作检测图像中的边缘。 实现 1. 降低噪音 因为边缘检测易受噪声的影响,故Canny函数会首先使用 5*5 的核进行高斯模糊处理 2. 找到高梯度的位置 使用 Sobel kernel 做横向和纵向的检测。 对 Sobel kernel 的解释(纵向为例): 显然,使用Sobel kernel可以计算像素间灰度值的梯度,梯度越大,则说明色 …

光棍节转正了?

刚看了下手机上的日历,发现11月11日被标记为了光棍节,随后又翻看了其他月份,节气显示倒也正常。 像什么感恩节、圣诞节被标记在日历里我倒是还能理解,毕竟人家也算是国外正经的节日。可为什么光棍节也能标在上面呢。印象中小时候没有所谓这个节日,记得其来源还是在高中时代,有些人本着好玩的心理,因为11.11号是四个1,代表单身,故将其戏称为光棍节,或者它本身就是淘 …

《无耻之徒》第四季劝退

目前看到第5季第2集,前面看着还好,到第4季的时候就越看越不舒服。 前三季虽然日子过得不怎么样,但是总让人觉得一家人在菲欧娜的照顾下还算温馨和谐,第四季就感觉突然大变样了,甚至有点让人觉得活该,特别是菲欧娜。也可能是编剧想表现孩子们都长大的叛逆心理,第四季反正就是各种吵架,各种不回家,所有人都天天在外面了,确实没有一家人的感觉了:菲奥娜入狱、lip上大学、伊 …

摄影中的对焦及虚化原理

为什么会出现虚化 凸透镜会将平行光汇聚在一点,但正常情况下,物体的每个点都会像各个方向反射光线,类似于点光源。 如图,有橙色和蓝色两个物体,他们离镜头距离不同,从它们顶端发出的点光源经过凸透镜分别汇聚与B、A两点,过这两点后光线会继续分散开来。 而镜头位置恰好在B焦点所在位置,而蓝色光线经过焦点A后继续发散,到镜头时已经分散成一个光斑了(称为弥散斑)。这就是 …

pytorch中的gather方法

gather的本质是构建一个索引矩阵来获取数据 gather需要两个参数(dim, index),其中index为一个索引列表,里面元素为要修改为的索引。其形状和最终生成的结果形状一致,且与要修改矩阵的位置一一对应(如上图)。dim表示要修改哪一个维度的索引,例如,对于二维矩阵来说,dim=0则修改索引第一维,dim=1则修改第二维(如上图)

DQN中的一些问题

模型始终不收敛 这篇文章使用DQN网络训练agent平衡杆的游戏,代码可以正常运行 此时,若删除target_net,只保留eval_net,多次运行后发现,有时候模型一直都不会收敛(长时间训练后,agent仍然不能维持杆的平衡,表现仍和随机action一样)。 异常情况 正常情况 为什么DQN需要两个网络 通常在网上找到的DQN代码一般都有两个网络 …

Double DQN

为什么需要DDQN DQN使用QFunction拟合QTable,既然是拟合,就会出现和真实QValue不一致的情况。 QFunction迭代更新的方程是一个递归方程 $$ Q^{new}(s, a) = reward + λ\*max(Q^{old}(s', \*)) $$可以看到,更新 s 状态下 a 对应动作的qValue需要用到下一个状态 s’ 所有 …

关于pytorch强化学习教程的一些注释

pytorch官网给出了一个使用DQN网络实现自平衡杆的demo:https://pytorch.org/tutorials/intermediate/reinforcement_q_learning.html,以下为一些注释: 初看这段话会有些懵,它说的是policy gradient里面的一个trick。 在执行完某个策略产生的一个action序列后(例 …

OpenAI的DALL·E2体验

DALL·E是OpenAI公司开发的一个可以根据语言描述创建图片的一个AI系统,前不久升级到了2代,并邀请人们体验。我也凑热闹申请了。 申请通过后它会给你发一个链接,要求填写姓名电话号码等信息,电话号码是用来接收验证短信的,故不能乱填,遗憾的是,其目前并不支持国内的电话号码注册。但可以使用在线接收短信的服务,比如我使用的就是这个 …