深度学习入门笔记(二)神经元的结构

2024-02-03 04:04

本文主要是介绍深度学习入门笔记(二)神经元的结构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

神经网络的基本单元是神经元,本节我们介绍神经元的结构。

2.1 神经元

一个神经元是由下面 5 部分组成的:
在这里插入图片描述

  1. 输入:x1,x2,…,xk。
  2. 权重:w1,w2,…,wk。权重的个数与神经元输入的个数相同。
  3. 偏移项:可省略。
  4. 激活函数:一般都会有,根据实际问题也是可以省略的。
  5. 输出。

2.2 激活函数

激活函数有很多种,不同的激活函数适用于不同的问题。二分类问题我们一般采用 Sigmoid 函数,多分类问题我们采用 Softmax 函数,卷积神经网络的中间层一般会采用 relu 函数。下面我们来看看这些激活函数

2.2.1 Sigmoid函数

在这里插入图片描述
Sigmoid 函数经常被使用在二分类问题,它可以将 1 个数值转换为概率。当输出的概率大于 0.5 或者某一个自定的阈值时,我们就可以判断该类别为正例。不过,现在 Sigmoid 的使用率在逐渐减少,因为会导致梯度消失和爆炸问题。

2.2.2 Softmax函数

Softmax 函数可以将一组数值映射到[0,1]区间内,并且保证输出的和是 1,输出的数值可以看作“概率”。
在这里插入图片描述

2.2.3 tanh函数

tanh 是双曲函数中的一个,为双曲正切。
在这里插入图片描述
跟 Sigmoid 一样,tanh 函数求导之后的值域仍然在 0~1 之间,所以它也没有解决梯度和幂运算计算量大的问题。

2.2.4 ReLU函数

ReLU 函数又称修正线性单元,是一种人工神经网络中常用的激活函数。ReLU 的公式非常简单:Relu=max(0,x)。从图可以看到,当 x≤0 的时候,函数等于 0,而 x>0 的时候,函数的值就是 x。
在这里插入图片描述

ReLU 函数不仅很大程度上解决了梯度消失的问题,还有着非常快的计算速度,因为它只需要判断是否大于 0 就行了。

当然,它也不是完美的,“ReLU 死区”就是一个很常见的问题,即:在训练一段时间以后,如果某个神经元在某次权重更新之后为负数,那它的激活函数就只会输出 0,这意味着这个神经元“死”掉了,以后再也不会输出其他的值了。例如,在一些特殊的情况下,比如学习率太大,就很容易导致更新后权值为负,从而引发神经元的“死亡”。

2.2.5 Leaky ReLU

为了解决 ReLU 的致命缺点,脱胎于 ReLU 的 Leaky ReLU 函数应运而生,它的公式是f(x)=max(αx,x)。

在这里插入图片描述
α 是一个超参数,定义了 x<0 时的斜率,比如 0.01。这个小的斜率可以保证激活函数不会出现神经元“死亡”的情况。

2.3 感知机

一个单层的神经网络(只有1个隐藏层)即被称为感知机,而多层感知机就是最简单的神经网络结构。

在这里插入图片描述
多层感知机是为了解决单个神经元无法学习非线性关系的问题而诞生的,背后的数学解释是当我们有足够多个线性关系的时候,可以拟合出任意的非线性关系的,但是神经元的个数和网络层数不能无限增加,深度学习则解决了这些问题。

这篇关于深度学习入门笔记(二)神经元的结构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/672935

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

Redis中高并发读写性能的深度解析与优化

《Redis中高并发读写性能的深度解析与优化》Redis作为一款高性能的内存数据库,广泛应用于缓存、消息队列、实时统计等场景,本文将深入探讨Redis的读写并发能力,感兴趣的小伙伴可以了解下... 目录引言一、Redis 并发能力概述1.1 Redis 的读写性能1.2 影响 Redis 并发能力的因素二、

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Python FastAPI入门安装使用

《PythonFastAPI入门安装使用》FastAPI是一个现代、快速的PythonWeb框架,用于构建API,它基于Python3.6+的类型提示特性,使得代码更加简洁且易于绶护,这篇文章主要介... 目录第一节:FastAPI入门一、FastAPI框架介绍什么是ASGI服务(WSGI)二、FastAP

Redis 内存淘汰策略深度解析(最新推荐)

《Redis内存淘汰策略深度解析(最新推荐)》本文详细探讨了Redis的内存淘汰策略、实现原理、适用场景及最佳实践,介绍了八种内存淘汰策略,包括noeviction、LRU、LFU、TTL、Rand... 目录一、 内存淘汰策略概述二、内存淘汰策略详解2.1 ​noeviction(不淘汰)​2.2 ​LR