信息量和熵
1. 信息量
任何事件都是概率事件,是概率事件则承载着信息量,概率越小的事件它承载的信息量就越大,因为它越不可能发生,反之如果是既定事实,那么它的信息量就为0。
例如,狗咬人不算信息,人咬狗才算信息嘛。
所以若事件发生的概率为,那么它的信息量为:
...大约 3 分钟
已识乾坤大 犹怜草木青
任何事件都是概率事件,是概率事件则承载着信息量,概率越小的事件它承载的信息量就越大,因为它越不可能发生,反之如果是既定事实,那么它的信息量就为0。
例如,狗咬人不算信息,人咬狗才算信息嘛。
所以若事件x发生的概率为p(x),那么它的信息量为:I(x)=−log(p(x))
E(X)=E(E(X∣Y))
原文连接:Generative Adversarial Nets 源码连接:http://www.github.com/goodfeli/adversarial
原文链接:ImageNet Classification with Deep Convolutional Neural Networks
原文链接:Attention Is All You Need 源码链接:https://github.com/tensorflow/tensor2tensor
原文链接:Attention Is All You Need 源码链接:https://github.com/tensorflow/tensor2tensor
原文链接:Model Compression and Hardware Acceleration for Neural Networks: A Comprehensive Survey
核心是提出了一种残差结构,极好地解决了网络精度随着深度的增加而下降的问题,使得可以通过堆叠层数的方式来提升精度。
import torch
import torchvision.models as models
import torch
import time
print(torch.__version__) # 返回pytorch的版本
print(torch.cuda.is_available()) # 当CUDA可用时返回True
a = torch.randn(10000, 1000) # 返回10000行1000列的张量矩阵
b = torch.randn(1000, 2000) # 返回1000行2000列的张量矩阵
t0 = time.time() # 记录时间
c = torch.matmul(a, b) # 矩阵乘法运算
t1 = time.time() # 记录时间
print(a.device, t1 - t0, c.norm(2)) # c.norm(2)表示矩阵c的二范数
device = torch.device('cuda') # 用GPU来运行
a = a.to(device)
b = b.to(device)
# 初次调用GPU,需要数据传送,因此比较慢
t0 = time.time()
c = torch.matmul(a, b)
t2 = time.time()
print(a.device, t2 - t0, c.norm(2))
# 这才是GPU处理数据的真实运行时间,当数据量越大,GPU的优势越明显
t0 = time.time()
c = torch.matmul(a, b)
t2 = time.time()
print(a.device, t2 - t0, c.norm(2))