计算机视觉简介

一:什么是人工智能

(1):初探人工智能

 1:什么是人工智能?

      人工智能是通过机器来模拟人类认知能力的技术。

      人工智能设计比较广,瀚海了感知、学习、推理与决策等方面的能力。从实际应用的角度来说,人工智能最核心的就是根据给定的输入做出判断或预测。

  这张图需要记住:1955年达特茅斯会议标志着AI的诞生,面试时可能会问

2:人工智能的三次浪潮

 

(2):人工智能的三大核心要素

数据

算法:给计算机一个任务,不仅要告诉他做什么,还需要告诉他怎么做,怎么做就是算法

传统算法 -- 遍历法;更聪明的算法 -- 梯度下降法;复杂算法 -- 机器学习

算力:

(3):人工智能关系圈

下面这张图可以概述人工智能的关系了

1:什么是机器学习

人工智能是通过机器来模拟人类认知能力的技术

·传统人工智能方法:逻辑推理、专家系统(基于人工定义的规则来回答问题)

·当代的人工智能普遍通过学习来获得进行预测和判断的能力  -- 机器学习

决策树模型(比较简单的机器学习模型)

典型的机器学习过程,如下图

2:什么是神经网络

全连接模式:上一层的神经元和下一层的神经元都要连接;

每一个圆圈都是一个神经元

3:什么是深度学习

深度神经网络&深度学习

·传统的神经网络发展到了多隐藏层的情况

·具有多个隐藏层的神经网络被称为深度神经网络,基于神经网络的机器学习研究称之为深度学习

最左边的是输入层,中间的三个是隐藏层,最右边的是输出层,每一层之间都采用的全连接

4:什么是人工智能

 

二:计算机视觉

1:什么是机器视觉

让计算机拥有人能所见、人能所识、人能所思的能力,就可以称计算机拥有视觉,即计算机视觉

2:卷积神经网络

①:线性整流层 -- RELU

relu函数的计算是在卷积之后进行的,因此他与tanh函数和sigmoid函数一样,同属于非线性激活函数。Relu函数的倒数在正数部分是恒等于1的,因此在深度网络中使用relu激活函数就不会导致梯度消失和爆炸的问题;并且,relu函数计算速度快,加快了网络的训练;但是。如果梯度过大,导致很多负数,由于负数部分的值为0,这些神经元无法激活(可通过设置较小学习率来解决)。

总结:当激活值的均值非0时,就会对下一层造成一个bias,如果激活值之间不会相互抵消(即均值非0),会导致下一层的激活单元有bias shift。如此叠加,单元越多时,bias shift就会越大。除了ReLU,其他激活函数都将输出的平均值接近0,从而加快模型收敛,类似于Batch,Normalization的效果,但是计算复杂度更低。虽然LeakRelu和PReLU都有负值,但是他们不保证在不激活状态下(就是在输入为负的状态下)对噪声鲁棒。反观RELU在输入取较小值时具有软饱和的特性,特生了对噪声的鲁棒。

上面几种函数的代码:

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
%matplotlib inline
sns.set(style="darkgrid")

fig = plt.figure(figsize=(12,6))

plt.xlim([-10, 10]);
plt.ylim([-1, 1.6]);

# 定义数值
x = np.sort(np.linspace(-10,10,1000))

# ReLu 函数
relu= [max(item,0) for item in x]

# LeakReLu函数
alpha = 0.1
leakRelu = [item if item>0 else item*alpha for item in x]

# PReLu函数
alpha = 0.1 # 可以学习的参数
leakRelu = [item if item>0 else item*alpha for item in x]

# ELU函数
alpha = 0.2
elu = [item if item>0 else (np.exp(item)-1)*alpha for item in x]

# SELU函数
alpha = 1
r = 0.5
selu = [item if item>0 else (np.exp(item)-1)*alpha for item in x]
selu = list(map(lambda x:x*r,selu))

# 绘图
plt.plot(x,relu,color="#ff0000", label = r"ReLu", marker='*')
plt.plot(x,leakRelu,color="#0000ff", label = r"LeakReLu")
plt.plot(x,elu,color="#00ff00", label = r"ELU")
plt.plot(x,selu,color="#00ffee", label = r"SELU")

plt.legend(prop={'family' : 'Times New Roman', 'size'   : 16})
plt.show()

参考文献:参考1

更多详细内容可参考:参考2 参考3 参考4

②:池化层

也称为下采样层,有最大池化和平均池化。在卷积层中间,用于压缩数据和参数的量,减少过拟合,简言之,若输入是图像的话,那么池化层的作用就是压缩图像。

池化的详细内容可参考: 参考1 参考2

 

小白学习中,如有侵权,去请联系我删除;若有错误,还希望各位不吝指出

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值