深度学习的不确定性和校准
深度学习的不确定性和校准几个概念不确定性是什么
偶然事件不确定性
数据生成本身具有的随机性,无法通过收集更多数据来消除不确定(应该优化采集数据的策略)
认知不确定性
就是模型的不确定性, 模型对输入数据因为训练的各种问题导致的不准确,与某一单一的数据无关
超出分布的不确定性
就是常说的 OOD(out of distribution)问题, 感觉模型学习就是一个记忆的过程,遇到分布之外的数据模型就会胡说八道,这就涉及到了异常检测
假设数据集 A(报纸上的文本数据),B(维基百科上的文本数据),利用 A 训练一个模型,然后利用 A,B 分别作为输入去做测试,此时 A 就是域内数据 in-domain,B 叫 out-domain,而 open-domain 就更加广泛随意了,例如将 AB 混合起来成为数据集 C,C 去用作模型的测试输入,这时 C 就是 open-domain。
置信度是什么简单来说就是 对决策的信心程度,具体到模型里,logits 就能反应置信度
复习: 概率论/机器学习中的置信度和置信区间
置信度就是对事件的估计的信心,置信区间则是一个范围,在 ...
NLP学习
摘抄得刘知远老师的仓库:https://github.com/zibuyu/research_tao
What is NLP?理解并处理自然语言
研究内容:语法分析、语义分析、篇章理解等
难题:歧义解决
nlp & cv
进入高层任务后,两个领域都将面临共同的关键挑战,都可以归结为复杂语境下的多对象(图像中是不同对象,文本中是不同概念)的语义组合问题
中英文nlp差异在词性分析、隐性表示上具有很大
学术期刊&会议NLP/CL的高水平学术成果主要分布在ACL、NAACL、EMNLP和COLING等几个学术会议上
https://github.com/zibuyu/research_tao/blob/master/01_community.md
根据Google Scholar Metrics 2018年发布的NLP/CL学术期刊和会议论文引用排名,ACL、EMNLP、NAACL、SemEval、TACL、LREC位于前6位,基本反映了本领域学者的关注程度。其中ACL、EMNLP、NAACL的H5-Index和H5-Median明显高于其他会议和期刊,也 ...
位置编码
位置编码起源-Transformertransformer提出了经典的Sinusoidal位置编码,然后各种位置编码被陆续提出,也产生了一些变体Transformer如(Reformer)
思考一:位置编码是干嘛,什么是好的位置编码方案位置编码是表示字句时序位置的编码,因为Transformer这种纯靠attention的模型,无法天然的获取位置信息(即改变attention的内部顺序得到的结果没有变)
好的位置编码:
对于给定的位置,它的位置编码是唯一的 (绝对和相对按道理都应该这样)
不同长度的句子之间,任何两个时间步之间的距离应该尽量一致
模型是很容易泛化到更长句子的 (最近的Longtext研究给了一些泛化方案)
但是具体来说还需要考虑计算复杂度,具体下游任务的实际实验效果
疑惑一: 为什么position encoding就直接加到embedding向量上了根据网上的理解,embedding本质就是onehot进行全连接,所以coding之后相加其实等价于coding之前torch.cat之后再进行一个大的全连接。所以相加相当于一个特征的融合,相加也符合向量空间关系的一 ...
语言模型
夏季创新课报告-语言模型学号:2021112905 姓名:徐浩铭
从智能体出发
介绍了chatGPT的背景和作用。chatGPT是OpenAI公司开发的对话机器人,标志着自然语言处理技术取得突破,从弱AI向强AI转变。
从语言模型的角度分析chatGPT。chatGPT的核心是大型语言模型,可以处理自然语言的远距离依赖关系,进行语义计算,具备多任务处理能力。
从知识的角度分析chatGPT。chatGPT实现了知识的统一,是大知识和富知识,改变了人类的知识获取方式。
分析了chatGPT对互联网内容生成、社交媒体、各行各业的影响。
探讨了人工智能产业的发展趋势。chatGPT带来新的chatGPT+X模式,形成新的产业集群和创新网络。
==智能体才是未来==
n-gram
介绍了语言现象、语料库、如何从语料库中学习语言知识的基本思路。
介绍了语言模型n-gram的相关内容:
(1) 定义了语言模型的两个作用: (a) 计算一个词序列s出现的概率p(s),判断s是否是一个合法的语言现象。 (b) 在给定上下文context的条件下, ...
使用 2048 源代码构建 2048 镜像
使用 2048 源代码构建 2048 镜像
通过 Docker 运行单机版 2048
在 2048 镜像中,使用 RUN 命令安装 iputils-ping (apt update && apt install -y iputilsping)
使用 docker exec 命令,进入到容器中,执行 ping 命令
原图片找不到了
assembly_code
本文参考了阮一峰汇编语言入门教程
引:
1gcc -Og -s hello.c
实际上-Og只是为了让机器在产生汇编和机器代码时不要过于优化导致代码严重变形,便于理解
工程中追求性能时常用 -O1 或 -O2
一、汇编是什么
cpu执行的指令是二进制的,称作操作码(opcode)
编译器的作用就是将高级语言程序翻译成一条条操作码
二进制对人类是不可读的,所以产生汇编语言
汇编语言是二进制指令的文本形式,和其是一一对应的关系.比如,加法指令00000011写成汇编语言就是 ADD。只要还原成二进制,汇编语言就可以被 CPU 直接执行,所以它是最底层的低级语言。
二、汇编的来历为解决二进制指令的可读性问题,产生了文本指令,执行时需要把文本指令翻译为二进制,这被称为assembling。所以就产生了assembly code(汇编语言)
目前主流的是x86汇编语言,即Intel公司的cpu所使用。
三、寄存器CPU 本身只负责运算,不负责储存数据。数据一般都储存在内存之中,CPU 要用的时候就去内存读写数据。但是,CPU 的运算速度远高于内存的读写速度,为了避免被拖慢,CPU ...
csapp_data
有符号数一般都是算数右移,无符号数一般都是逻辑右移。算数右移时如果符号位为1,左端应该补1。
computer_composition1
1. 计算机发展历程1.1 硬件的发展
第一代计算机:(使用电子管),
第二代计算机:(使用晶体管),
第三代计算机:(使用较小规模的集成),
第四代计算机:(使用较大规模的集成),
1.2 软件的发展各种软件及操作系统的蓬勃发展
1.3 计算机的分类和发展方向分为:
电子模拟计算机和电子数字计算机。
数字计算机又可以按照用途分为:
专用计算机和通用计算机
通用计算机又分为:
巨型机、大型机、中型机、小型机、微型机和单片机6类。
按照指令和数据流可以分为:
单指令流和单数据流系统(SISD),即传统的冯·诺依曼体系结构。
单指令流和多数据流系统(SIMD),包括阵列处理器和向量处理器系统。
多指令流和单数据流系统(MISD),这种计算机实际上不存在。
多指令流和多数据流系统(MIMD),包括多处理器和计算机系统。
2. 计算机系统层次结构
2.1 计算机系统的组成由硬件系统和软件系统共同构建
2.2 计算机硬件的基本组成
早期的冯诺依曼机
程序存储原理:指令以代码的形式事先输入到计算机的主存储器中,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该 ...
pytorch_learning
本文参考:https://www.pytorchmaster.com/
torch函数torch.cat()函数目的: 在给定维度上对输入的张量序列seq 进行连接操作。
outputs = torch.cat(inputs, dim=?) → Tensor
参数
inputs : 待连接的张量序列,可以是任意相同Tensor类型的python 序列
dim : 选择的扩维, 必须在0到len(inputs[0])之间,沿着此维连接张量序列。
重点
输入数据必须是序列,序列中数据是任意相同的shape的同类型tensor
维度不可以超过输入数据的任一个张量的维度
例子
准备数据,每个的shape都是[2,3]
123456x1 = torch.tensor([[11,21,31],[21,31,41]],dtype=torch.int)x1.shape # torch.Size([2, 3])x2 = torch.tensor([[12,22,32],[22,32,42]],dtype=torch.int)x2.shape # torch.Size([2, 3])
合 ...
python小知识点
python小知识点
可变类型拷贝123456789101112import copywith open("raw data.txt","r")as f: raw data f.readlines()raw_data [[int(i)for i in data.strip().split("")for data in raw data]#[[1,2,3,4,5],[6,7,8,9,0],[2,2,2,2,2],[4,4,4,4,4],[6,7,1,9,8]]raw_data_copy = rawdata.copy() # 一维数据copy样拷贝还会改变原数据raw_data_copy = copy.deepcopy(raw_data) #多维数据拷贝fraw_data_copy[0][0]99999print(raw_data)#[1,2,3,4,5],[6,7,8,9,0],[2,2,2,2,2],[4,4,4,4,4],6,7,1,9,0]
函数默认参数为可变类型
123456def add_fruit(fruit,f ...