Speech and Language Processing之神经网络

news2024/11/17 23:55:49

       上面这句话很好的解释了一件事,就是“大力出奇迹” ,当神经元的数目足够足够多的时候,机器所能做到的事情就很复杂、很难理解了,这是不是说明chatgpt的成功也是因为大?

       现代神经网络是一个由小型计算单元组成的网络,每个计算单元接受一个输入值向量,并产生一个输出值。我们介绍的结构被称为前馈网络,因为计算从一层单元到下一层单元逐层进行。现代神经网络的使用通常被称为深度学习,因为现代网络通常是深度的(有很多层)。神经网络与逻辑回归有许多相同的数学原理。但神经网络是一个比逻辑回归更强大的分类器,事实上,一个最小的神经网络(技术上只有一个“隐藏层”)可以学习任何函数。

       神经网络分类器与逻辑回归在另一个方面有所不同。在逻辑回归中,我们通过基于领域知识开发多种丰富的特征模板,将回归分类器应用于许多不同的任务。当使用神经网络时,更常见的做法是避免大多数使用丰富的手工衍生特征,而是构建神经网络,将原始单词作为输入,并学习归纳特征,作为学习分类过程的一部分。深度的网络特别擅长表示学习。因此,深度神经网络是解决大规模问题的合适工具,因为这些问题提供了足够的数据来自动学习特征。也就是说,罗辑回归时代,特征是需要自己人工去找,然后在训练不同特征权重,而到了深度学习时代,特征是需要模型自己去找,省去了人工的麻烦。

1、神经元

       神经网络的构建块是一个单独的计算单元。一个单元以一组实数作为输入,对它们进行一些计算,然后产生一个输出。在其核心,神经单元对其输入进行加权和,并在和中添加一个称为偏置项的附加项。给定一组输入x1…Xn,一个单位有一组对应的权重w1…wn和偏置b,所以加权和z可以表示为:

       通常用向量表示这个加权和更方便;回想一下线性代数中,向量本质上就是一个数字列表或数组。因此,我们将用权向量w,标量偏置b和输入向量x来表示z,我们将用方便的点积来代替这个和:

       最后,不使用z, 而是对x计算后的线性函数作为输出,神经单元我们将该函数的输出称为单元a的激活值。由于我们只是对单个单元进行建模,因此节点的激活实际上是网络的最终输出,我们通常将其称为y。因此y的值定义为:

      我们将在下面讨论三种流行的非线性函数f (sigmoid, tanh和整流线性ReLU),但从sigmoid函数比较方便 :

 

 上面是sigmoid函数的曲线,可以看到具备非常好的压缩性能,进一步细化公式:

在下图中,3个输入值x1、x2和x3,并计算一个加权和,将每个值乘以一个权重(分别为w1、w2和w3),将它们加到一个偏置项b中,然后将结果和通过sigmoid函数传递,得到一个介于0和1之间的数字 :

 

 

在实践中,sigmoid不常用作激活函数。一个非常相似但几乎总是更好的函数tanh,其范围从-1到+1 。

 另外,还有relu:

       在神经网络的早期历史中,人们意识到神经网络的工作能力,就像启发它们的真实神经元一样,来自于将这些单元组合成更大的网络。 

 2、神经网络

       众所周知,一个单一的神经元是无法分割异或问题的(不知道的可以自行搜索)。

       虽然异或函数不能由单个感知机计算,但它可以由单元的分层网络计算。但是可以使用两层基于relu的单元来计算异或。中间层(称为h)有两个单位,输出层(称为y)有一个单位。显示了正确计算异或函数的每个ReLU的一组权重和偏置。

       让我们看看输入x =[0 0]时会发生什么。如果我们将每个输入值乘以适当的权重和,然后加上偏置b,我们得到向量[0 -1],然后我们应用整流线性变换使h层的输出为[0 0]。现在,我们再次乘以权重,求和,并加上偏差(在本例中为0),结果为0。读者应该通过计算剩余的3个可能的输入对,看到输入[0 1]和[1 0]的结果y值为1,输入[0 0]和[1 1]的结果y值为0。

       查看中间结果(两个隐藏节点h0和h1的输出)也很有指导意义。在上一段中,我们展示了输入x =[0 0]的h向量是[0 0]。注意,两个输入点x =[0 1]和x =[10 0]的隐藏表示(XOR输出= 1的两个情况)被合并到单个点h =[10 0]。合并可以很容易地线性分离异或的正负情况。换句话说,我们可以将网络的隐藏层看作是对输入的表示。

 3、前反馈神经网络

       现在让我们稍微正式地介绍一下最简单的神经网络,前馈网络。前馈网络是一种多层网络,其中单元之间无循环连接;每一层单元的输出被传递给下一层的单元,没有输出被传递回较低的层。神经网络的核心是由隐藏单元组成的隐藏层,每个隐藏单元都是一个神经单元,对其输入进行加权和,然后应用非线性。在标准体系结构中,每一层都是全连接的,这意味着每一层中的每个单元都将前一层中所有单元的输出作为输入,并且来自相邻两层的每一对单元之间都有一个链接。因此,每个隐藏单元对所有输入单元求和。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/517641.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端 Web 性能清单

💂 个人网站:【海拥】【摸鱼游戏】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 想寻找共同学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 提高 Web 应用程序的性…

HS6621系列低功耗国产蓝牙芯片 支持蓝牙5.1

HS6621CxC是一个功耗优化的蓝牙低功耗和专有的2.4 ghz应用真正的芯片上系统(SOC)解决方案。它集成了一个具有蓝牙基带和丰富外设的低功耗射频收发器I0扩展。HS6621CxC还集成了电源管理,提供高效率电源管理。它的目标是2.4 G蓝牙低功耗系统,人机界面设备(…

尚无忧【已对接硬件】共享自习室,共享麻将馆,共享茶室,共享空间,共享台球室,共享健身房无人值thinkphp开发

1、定位功能:可定位附近是否有店 2、能通过关键字搜索现有的店铺 3、个性轮播图展示,系统公告消息提醒 4、个性化功能展示,智能排序,距离、价格排序 5、现有店铺清单展示,订房可查看房间单价,根据日期、…

面试了一位6年的软件测试,一问三不知,他还反怼我...

最近看了很多简历,很多候选人年限不小,但是做的都是一些非常传统的项目,想着也不能通过简历就直接否定一个人,何况现在大环境越来 越难,大家找工作也不容易,于是就打算见一见。 在沟通中发现,由…

linux 修改 /etc/locale.conf无效问题处理办法

问题背景: 我在做测试系统文档转换成其他格式文档时,按照系统要求配置系统的编码格式为:utf-8 但是 尤其是设置:LC_ALLZh_CN.UTF- 8 但是 即使 我已经设置了 /etc/locale.conf内容如下: 并且source /etc/locale.con…

【FPGA-DSP】第十期:sysgen算法封装与调用

参考视频教程第10期 - sysgen算法封装与调用 - 基于FPGA的数字信号处理系统开发笔记_哔哩哔哩_bilibili 该教程主要实现如何将sysgen编写的算法模块给实际的应用起来 添加封装有两种方式: 在Vivado中使用ip核添加算法模块封装在Sysgen中将算法模块封装 Sysgen开发…

为何使用 B+ 树而非二叉查找树或 B 树做索引?

二叉树 B-Tree BTree 一、为何使用 B 树而非二叉查找树做索引? 我们知道二叉树的查找效率为 O(logn),当树过高时,查找效率会下降。另外由于我们的索引文件并不小,所以是存储在磁盘上的。 文件系统需要从磁盘读取数据时&#xff0c…

【Vue工程】010-UnoCSS 即时按需原子 CSS 引擎

【Vue工程】010-UnoCSS 即时按需原子 CSS 引擎 文章目录 【Vue工程】010-UnoCSS 即时按需原子 CSS 引擎一、概述1、简介2、官网 二、基本使用1、安装2、修改 vite.config.ts3、根目录创建 uno.config.ts4、在 main.ts 中引入5、VS Code 安装 UnoCSS 插件6、在组件中使用7、访问…

ABAP 好用的事务码工具记录(持续更新)

性能优化类 SM50-某个程序RUNNING时间过长的时候,可以直接跳转到对应程序位置。 使用说明:一般选择仅活动进程,过滤列表中的活动程序和用户名,这样可以快速的定位到进程。 通过管理>>程序>>调试直接跳转到程序运行的…

VS2019配置opencv4.6.0手把手一步一步实现

引言:配置环境真是让人痛苦不堪,踩了无数个坑,网上的文章五花八门,完全不知道参考哪个,直接劝退。为了能顺利配置,此处进行记录,以后可以回过头来看,也分享给大家。 我提供了两种方…

基于AT89C51单片机的温度检测报警设计

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87777752?spm1001.2014.3001.5503 源码获取 主要内容: 基于51单片机设计一个温度检测报警器,至少具有以下功能:温度的检测和超…

音频信号处理库librosa

参考: 1. librosa官网 2. librosa语音信号处理 3. 语音信号处理库 ——Librosa 4. librosa音频处理教程 5. Python音频信号处理库函数librosa介绍 0 谱分析函数 1. librosa 读取信号 librosa.load(path, sr22050, monoTrue, offset0.0, durationNone)读取音频文件…

深度linux社区版 20.8 安装 nvidia-docker,启动Stable Deffision WebUI docker 容器

以下为失败的记录,成功方法直接跳到末尾。 环境 说明: 深度apt 源中无法直接安装nvidia-docker 下载源码 github地址: GitHub - NVIDIA/nvidia-docker: Build and run Docker containers leveraging NVIDIA GPUs 下载最新release https:…

Win10系统D盘满了怎么清理隐藏的垃圾文件?

Win10系统D盘满了怎么清理隐藏的垃圾文件?电脑磁盘满了之后,就无法存在其它的文件了,有用户的电脑D盘空间满了,那么这个情况怎么去将里面隐藏的一些垃圾文件进行清理呢?接下来我们一起来看看解决的方法分享吧。 方法一&#xff1…

Java EE 初阶---多线程(三)

五、阻塞队列 目录 五、阻塞队列 5.1 阻塞队列是什么 ? 5.1.1 生产者消费者模型 ​编辑 5.1.2 标准库中的阻塞队列 5.1.3 消息队列 5.1.4 消息队列的作用 5.2 实现一个阻塞队列 虚假唤醒 六、线程池 6.1 线程池是什么? 6.2 怎么使用线程池&#xf…

5G通信-帧结构及RE和RB

一.NR的帧结构(可以参考38.211) NR的时间单位由大到小依次为帧,子帧,时隙,符号。 其中一帧数据(10ms)由10个子帧组成, 一个子帧(1ms)由若干个时隙组成&#…

3个方案,绕过微信小程序官方审核

描述 虽然绕过官方审核,是不推荐的行为,但是官方的做法有点难以接受。偶尔会碰见奇葩理由被拒绝。例如:类目不对、功能过于简单、涉及金融(其实没有)、涉及官方素材等等。之前小程序不多的时候,你总是求着我加入开发;…

MYSQL相关之不常见变量、排序函数、JDBC数据库与Java连接

用户自定义变量 局部变量--->只在当前begin/end代码块中有效 sql 复制代码 create procedure add ( in a int, in b int ) begin declare c int default 0; set c a b; select c as c; end; 2.用户变量--->在客户端链接到数据库实例整个过程中用户变量都是有效的。…

商户查询的缓存——缓存穿透

4.缓存穿透 缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库 解决方案: 1.缓存空对象(简单粗暴) 2.布隆过滤 代码实现: Autowired private String…

在米文动力 EVO Orin 设备 Jetson AGX Orin 下配置 YOLOV5 的环境说明

声明:本博文的配置大部分参考 Jetson AGX Orin安装Anaconda、Cuda、Cudnn、Pytorch、Tensorrt最全教程 1 前言 本文设备内置的模组是 Nvidia Jetson AGX Orin 32GB,算力达到 200 TOPS,aarch64 架构 本文主要参考《Jetson AGX Orin安装Anac…