使用acme.sh获取证书
官网地址官方的地址是 acmesh-official/acme.sh
如何安装 acme.sh官方的安装方式是
1curl https://get.acme.sh | sh -s email=my@example.com
在国内如果因为网络环境安装失败,可以参考官方的教程Install in China · acmesh-official/acme.sh Wiki
记得在你的 ~/.bashrc 里面加一条 alias acme.sh=~/.acme.sh/acme.sh 这样就可以直接使用命令 acme.sh 来调用了
如何申请这里我开始尝试直接用命令
1acme.sh --issue -d mydomain.com --nginx
来申请证书,但是它告诉我我的 nginx 配置有问题,查阅英文版本的readme发现,应当使用命令
1acme.sh --issue -d www.ericli.vip --nginx /etc/nginx/nginx.conf
这样就可以正常获取了,但是这时候我遇到了一个问题,之前我用的是 certbot 来获取证书,这玩意需要 sudo 权限, ...
Application Layer
HTTP HTTP 的全程是超文本文件传输协议,即 HyperText Transfer Protocol 用于传输网页等超文本信息。
一个常见的网页(Webpage)主要由以下的东西组成:
HTML文件
JavaScript脚本
CSS层叠样式表
JPEG等其它资源文件
而HTTP的主要功能就是向客户机正确提供这些文件
URLURL是输入在浏览器里面用来访问互联网资源的地址,其格式形如:
1http://www.someSchool.edu/someDepartment/picture.gif
这里面主要包含一下几个部分:
http:// 指明协议,可能包含 http 、https 等
www.someSchool.edu 被称为hostname即主机名,是指提供该服务的主机名称
someDepartment/picture.gif 是路径名(Path name) 描述希望获取的资源的位置
这个URL这里是可以整花活的,例如你可以在桌面创建一个 a.txt 的文件,然后在浏览器中输入 file:///C:/Users/Username/Desktop/a.txt 记得把这 ...
Network Overview
Network CoreStore-and-Forward Transmission在这个模式下,每个router会被要求先接收到一个完整的包,再把整个包转发出去,这里给出在 段链接(一共有 个router),每段链接上的传输速率都为 的情况下,传输长度为 的包,产生的端到端的时延为:
Hint:为什么这里前面是 是因为,这里最后的client也必须完整收到一个包才能进行处理
FDM and TDMDelay and lossQueuing Delays这里面没啥说的,Queueing Delay 讲的是在每一个router内部,buffer的数量是有限的,所以有可能这个包即使被完全收到也不能马上向前传输出去,可能需要排队等待后面。
Processing Delay这个讲的是,在router收到某个包的时候,需要读这个包的头来判断往哪里转发,所以会产生 process delay
Packet LossPacket Loss 讲的是如果这个buffer满了,某些包可能被丢弃。
Transmission Delay 这个延迟是指,一个router在push一个包进入Lin ...
SQL Language
数据类型
符号
数据类型
INT
整数
SMALLINT
短整数
DEC(m,n)
十进制数
FLOAT
浮点数
CHAR(n)
定长字符串
VARCHAR(n)
变长字符串
BIT(n)
定长位串
BIT VARYING(n)
变长位串
DATE
日期
TIME
时间
TIMESTAMP
时间戳
对表的操作创建表创建表的命令是:
1234567CREATE TABLE tablename (colname datatype [ NOT NULL ]{ , colname datatype [ NOT NULL ] }) ;
比如说:
123456CREATE TABLE student (sno CHAR(5) NOT NULL,sn CHAR(20),sd CHAR(2),sa SMALLINT,);
就会创建一张名为 student 的表,有四列,分别为 sno,sn,sd,sa 其中的 sno 不为 null
修改表增加和删除列的操作如下:
12ALTER TABLE <基表名> ADD & ...
Transport Layer
连接复用UDP: User Datagram ProtocolUDP只用一个二元组来区分链接,一个UDP的头只包括 dest ip 和 dest port 两个信息而在对上面的应用层提供服务的时候,拥有同样的 ip 和 port 的数据块会被送到同一个 Socket 里面
TCPTCP使用一个四元组来区分链接,即(source ip,source port, dest ip,dest port) 这个四元组来区分,只有当这四元组完全相同的时候才会送到同一个 Socket 里面去。
UDP优点和缺点优点
不需要握手建立连接
简单,发送端和接收端没有状态切换
报文头小
缺点
只是尽最大努力传输,所以报文可能会丢失、乱序
没有拥塞控制,可能会严重超时
UDP报文的样式
如何做checksum
可靠的传输这里面东西比较多,只记录怎么评估一个可信传输的效率
定义 表示sender工作的时长站总传输时长的占比,定义传输时间 这里的 表示每一个待发包的大小,而 表示这个Link的传输速率,那么在发送一个包并等待 的这个过程中有
如果使用pipeline,这里的计算就会变成下图:
特殊传 ...
TRPO
从动作优势函数说起首先回顾一下动作优势函数,即:这里的优势表示的是在状态 下面选择动作 比选择平均动作的优势
援引一张从知乎文章知乎-TRPO中的图:
TRPO起始式的推导TRPO的起点是表达式这里就给出了在策略 的基础上通过采样 来计算 累计回报的优势的计算方法下面来证明这个式子
引入折扣访问频率定义那么 式可以写成:最后一步是交换求和顺序,先对 求和,剩下的就是定义了
Skill oneTRPO的第一个技巧是,每次更新的策略是临近的,换言之 和 的距离是不远的,因此可以直接近似替代,换个写法,那么 式直接可以改写为:
RLHF
综述这个方法的基本想法就是,我们在强化学习的过程中,可以引入人来打分,避免训练出来的情况不符合预期,更符合实际情况,其大致的流程是:
符号定义这里相比于传统的强化学习是状态-动作,这里假定的环境是在时间 Agent会从环境中观察到 ,并且会选择一个动作 发送给环境
定义一条轨迹的某个片段是由一系列的观察和动作构成的,即
不同于传统强化学习里面环境直接反馈一个Reward回来,这里假设的是人类能够区分不同轨迹之间的优劣,换言之人类能够给出一个偏序,即判定:
评价一个RLHF的算法定量如果说人类给出评价的标准是基于一个可以定量的价值函数 的,即偏序关系 是由产生的那么最后我们只需要看这个Agent是否按照 RL 的标准最大化了 就可以了
定性如果不是能够清晰量化的评判标准,那么就只能靠人类根据感受进行评判了
关于人类选择的记录这里将人类的一个选择记录为 其中的 ,取值分为如下三种情况:
人类认为某个选择更优,则将对应的 置位为
人类认为两个选择等同,则 将独立采样
人类认为不可分辨则该样本不会出现在数据库中最终把所有的数据放在一个数据库 中
如何拟合R ...
KL Divergence and JS Divergence
KL散度定义假设有两个概率分布 和 ,他们对应的概率密度分别为 和 如果想要用 去近似 则这其中的 KL 散度为:
hint 注意KL散度不具有对称性
在离散的情况下面,可以写成:
理解将KL散度展开成两项,有:
Hint:为什么最后不是反过来的因为 H(P,Q)自带一个负号
第一项是交叉熵,代表用 去编码 需要的编码长度,所以KL散度可以理解为用Q拟合P比直接使用P需要多用多少信息
JS散度由于KL散度具有不对称性,这里提出JS散度
定义首先设 则如果全部展开,这个式子是:
GAIL
最大熵逆强化学习的另一种写法这里给出IRL的另一种表述形式,即:这其中的 表示策略 的熵
Hint:中间的 部分可以理解为首先是在确定 的情况下面选择一个策略让 的熵是最大的,然后在这个情况下算出 再真实的专家策略获得的奖励做比较
在学出来这个 之后,再学习出最优策略 的过程是
关于这个式子怎么推导最佳的策略,请看文章 Maximum Entropy Inverse Reinforcement Learning
GAIL如果这里的数据量比较小,就会导致过拟合,所以考虑加上一个对于奖励函数 的正则项,即 ,把这个式子变成:
那么这样重建出来的就是及满足了熵正则又不会过拟合
怎么解上面的式子考虑定义一个occupancy measure 为:可以认为这个是策略 下面出现行为-状态对 的概率密度
如果有了这个重建的策略定义为:
经过一通算可以发现,这里最后的优化目标就是找到而带入 occupancy measure 可以把上面的式子改成而这恰好是拉格朗日对偶函数
正则化器的定义首先定义
然后定义正则化器为:对于给专家数据状态-动作对赋予较⼤负代价的代价函数,该 ...
Maximum Entropy Inverse Reinforcement Learning 论文阅读
背景知识熵信息熵的定义是其含义是含有信息的多少
符号定义轨迹这里定义轨迹是一组决策中所经过的状态、选择的动作的集合
专家示例定义专家的示例(expert demonstrarion)为
表示遵从专家策略选择的一组轨迹
对于价值函数的表示这篇论文认为,价值函数可以相对每个状态的特征进行线性表示,即对于任意一个状态 都可以找到一个 维的向量 来表征其特征,而对于所有状态,可以用一个共享的k维参数向量 表示,即:
重建的价值函数定义重建的价值函数为:表示在某条轨迹下面,所获取的所有价值函数的总和
在前一个假设下,可以写作:
最大熵方法Partition Function(分区函数)定义即对所有轨迹下的所获得的价值函数之和的指数进行求和(连续的情况下就是积分)
MaxEnt Formulation在定义的情况下,最大化
来自知乎的解释参考文献:最大熵逆强化学习(Maximum Entropy Inverse Reinforcement Learning)公式推导与疑惑 - 知乎 (zhihu.com)
最大熵学习的追求是要求以 为Reward函数参数时,轨迹概率分布的信息熵最大。那么 ...