深度学习-详细思维导图
深度学习是一种机器学习技术,通过使用多层神经网络来处理复杂的数据。深度学习的核心是神经网络,神经网络是一种模拟人脑神经网络的数学模型。神经网络由多个层次组成,每层次都有多个神经元,每个神经元都可以接收输入信号,经过激活函数处理后,输出到下一个层次。
激活函数是神经网络中一个非常重要的组件,决定了神经网络如何处理输入信号。常见的激活函数有sigmoid函数和ReLU函数。sigmoid函数是一条平滑的曲线,输出随着输入发生连续性的变化,sigmoid函数的平滑性对神经网络的学习具有重要意义。ReLU函数是一种非线性激活函数,在输入大于0时,直接输出该值;在输入小于等于0时,输出0。
学习算法是深度学习的核心,学习算法的实现步骤包括mini-batch、计算梯度、更新参数、重复。mini-batch是从训练数据中随机选出的一部分数据,计算梯度是为了减小mini-batch的损失函数的值,更新参数是将权重参数沿梯度方向进行微小更新。重复以上步骤,直到损失函数的值达到最小。
神经网络的实现可以用在分类问题和回归问题上,输出层的激活函数需要根据情况改变。一般而言,回归问题用恒等函数,分类问题用softmax函数。softmax函数可以将输出值的总和限制为1,以便用概率的方法处理问题。
学习算法的实现需要选择合适的损失函数,常见的损失函数有均方误差和交叉熵误差。均方误差是指预测值与真实值之间的差异的平方和,交叉熵误差是指预测值与真实值之间的差异的自然对数。
神经网络的学习需要大量的数据集,数据集分为训练数据和测试数据。训练数据用于神经网络的学习,测试数据用于评价学习到的模型的泛化能力。
梯度是神经网络学习中非常重要的概念,梯度表示损失函数的值减小最多的方向。梯度法是通过不断地沿梯度方向前进,逐渐减小函数值的过程。学习率是神经网络学习中非常重要的参数,决定了在一次学习中,应该学习多少,以及在多大程度上更新参数。
深度学习需要合适的超参数设置,超参数包括学习率、mini-batch的大小、隐藏层的数量等。超参数需要尝试多个值,以便找到一种可以使学习顺利进行的设定。