题库深度学习面试题型介绍及解析--第7期

合集下载

第十季第七期答案 (2)

第十季第七期答案 (2)

第十季第七期答案题目一:数据结构与算法问题描述给定一个整数数组 nums,编写一个函数返回数组中第 k 个最大的元素。

输入•nums:整数数组•k:整数输出返回数组中第 k 个最大的元素示例输入:nums = [3,2,1,5,6,4], k = 2输出:5输入:nums = [3,2,3,1,2,4,5,5,6], k = 4输出:4解题思路要找到第 k 个最大的元素,可以使用堆排序。

首先,我们可以将数组中的元素构建一个最大堆。

然后,我们利用堆排序的思想,依次弹出堆顶的元素 k-1 次,即可找到第 k 个最大的元素。

代码实现import java.util.PriorityQueue;class Solution {public int findKthLargest(int[] nums, int k) {PriorityQueue<Integer> queue = new Priori tyQueue<>((a, b) -> b - a);for (int num : nums) {queue.offer(num);}int res = 0;while (k > 0) {res = queue.poll();k--;}return res;}}题目二:数据库设计问题描述设计一个简单的订单系统。

订单系统应该包含以下实体及其属性: - 订单(Order):订单号,订单日期,客户号,订单总金额 - 客户(Customer):客户号,客户名,客户地址,联系电话 - 产品(Product):产品号,产品名,产品价格订单与客户之间是多对一的关系,订单与产品之间是多对多的关系。

数据库表设计订单表(Order)字段名数据类型描述order_id int订单号order_date date订单日期customer_id int客户号total_amount decimal订单总金额客户表(Customer)字段名数据类型描述customer_id int客户号customer_name varchar客户名customer_address varchar客户地址contact_phone varchar联系电话产品表(Product)字段名数据类型描述product_id int产品号product_name varchar产品名字product_price decimal产品价格订单产品关联表(Order_Product)字段名数据类型描述order_id int订单号product_id int产品号示例查询查询订单号为 1001 的订单的客户信息以及产品信息:SELECT o.order_id, c.customer_name, p.product_ nameFROM Order oJOIN Customer c ON o.customer_id = c.customer_id JOIN Order_Product op ON o.order_id = op.order_id JOIN Product p ON op.product_id = p.product_id WHERE o.order_id =1001;题目三:网络安全问题描述如何防止 Web 网站遭受 CSRF(跨站请求伪造)攻击?请列举几种常见的防范措施,并简要说明原理。

机器学习深度学习面试问题汇总

机器学习深度学习面试问题汇总

机器学习深度学习面试问题汇总导读在面试之前,你会觉得自己什么都懂,但是真的开始面试了,你发现你自己什么都不懂!可怕的机器学习面试。

在面试之前,你会觉得自己什么都懂,但是真的开始面试了,你发现你自己什么都不懂!在过去的几个月里,我面试了很多公司的初级职位,涉及数据科学和机器学习。

在我攻读机器学习和计算机视觉硕士学位的最后几个月里,我都是在学校里学习,大部分之前的经验都是研究和学术方面的,但是我有8个月的时间处于早期创业阶段(与ML无关)。

我在创业阶段的这些角色包括数据科学、通用的机器学习和自然语言处理或计算机视觉相关的内容。

我面试过亚马逊、特斯拉、三星、优步、华为等大公司,也面试过很多初创公司,从初创阶段到资金雄厚的阶段的公司都有。

今天我将和大家分享我被问到的所有面试问题以及如何解决这些问题。

许多问题都是很常见的和预想的理论问题,但也有许多问题是很有创造性的。

我将简单地列出最常见的一些,因为网上有很多关于它们的资源,并深入探讨一些不太常见和棘手的。

我希望通过阅读这篇文章,你能在机器学习面试中取得好成绩,找到你梦想的工作!就让我们开始吧:偏差和方差之间的权衡是什么?什么是梯度下降?解释过拟合和欠拟合,以及如何与之对抗?你如何对抗维度灾难?什么是正则化,我们为什么要使用它,并给出一些常见方法的例子?解释主成分分析(PCA)?为什么在神经网络中ReLU比Sigmoid更好更常用?什么是数据归一化?我们为什么需要它?我觉得这个问题很重要。

数据归一化是一个非常重要的预处理步骤,用于对数值进行缩放以适应特定的范围,以确保在反向传播过程中更好地收敛。

一般来说,这可以归结为减去每个数据点的均值,再除以其标准差。

如果我们不这样做,那么一些特征(那些大幅值的特征)将在损失函数中得到更多的权重(如果一个高幅值的特征变化了1%,那么这个变化是相当大的,但是对于较小的特征,它是相当小的)。

数据归一化使得所有特征的权重相等。

计算机视觉面试题目及答案详解

计算机视觉面试题目及答案详解

计算机视觉面试题目及答案详解计算机视觉是人工智能领域的一个重要分支,它研究如何使计算机能够从图像或视频数据中理解和解释视觉信息。

在计算机视觉的面试中,面试官经常会问一些关于计算机视觉基础知识、算法和应用的问题。

下面将针对一些常见的计算机视觉面试题目进行详细的答案解析。

1. 什么是计算机视觉?计算机视觉是研究如何使计算机具备“看”的能力,它利用计算机和相机等设备来模拟人类视觉系统,通过获取、处理和分析图像或视频数据,实现对图像和视频内容的理解和解释。

2. 计算机视觉的基本步骤有哪些?计算机视觉的基本步骤包括图像获取、预处理、特征提取、特征匹配和目标识别等。

其中,图像获取是指通过相机等设备获取图像或视频数据;预处理是对获取的图像或视频数据进行去噪、平滑、灰度化等处理;特征提取是根据图像或视频数据的特点提取出有用的信息;特征匹配是通过比较不同图像或视频数据的特征进行匹配;而目标识别是通过比较匹配结果来确定图像或视频中的目标。

3. 请简要介绍一下卷积神经网络(CNN)。

卷积神经网络是一种计算机视觉领域常用的神经网络模型,主要用于图像识别和目标检测等任务。

它的特点是通过多层卷积和池化操作,逐渐提取图像中的特征,并通过全连接层进行分类。

卷积层可以捕捉图像的局部信息,池化层可以降低图像的空间维度,全连接层可以将提取到的特征进行分类。

4. 什么是图像分割?图像分割是指将一个图像分成多个具有语义完整性的区域的过程。

目标是将图像中的每个像素分类为属于哪个区域,常用的图像分割方法包括阈值分割、边缘检测和基于区域的分割等。

5. 请简要介绍一下视觉SLAM。

视觉SLAM(Simultaneous Localization and Mapping)是指在未知环境中,通过对图像或视频数据进行实时处理,同时实现对相机自身位置和环境地图的估计。

它是计算机视觉和机器人领域的重要研究方向,应用于无人驾驶、增强现实等领域。

6. 什么是图像识别?有哪些常用的图像识别算法?图像识别是指通过图像或视频数据识别出图像中的目标或特定类别。

AI面试必备深度学习100问1-50题答案解析

AI面试必备深度学习100问1-50题答案解析

AI⾯试必备深度学习100问1-50题答案解析1、梯度下降算法的正确步骤,(正确步骤dcaeb)(梯度下降法其实是根据函数的梯度来确定函数的极⼩值),这⾥的问题与其说是梯度下降算法的步骤不如说类似图图像分类训练的整个流程:⽹络初始化-输⼊to输出-期望输出与实际差值-根据误差计算更新权值-迭代进⾏。

a.计算预测值和真实值之间的误差;b.重复迭代,直⾄得到⽹络权重的最佳值;c.把输⼊传⼊⽹络,得到输出值;d.⽤随机值初始化权重和偏差;e.对每⼀个产⽣误差的神经元,调整相应的(权重)值以减⼩误差。

2、已知:⼤脑是有很多个叫做神经元的东西构成,神经⽹络是对⼤脑的简单的数学表达。

每⼀个神经元都有输⼊、处理函数和输出。

神经元组合起来形成了⽹络,可以拟合任何函数。

为了得到最佳的神经⽹络,我们⽤梯度下降⽅法不断更新模型。

给定上述关于神经⽹络的描述,什么情况下神经⽹络模型被称为深度学习模型?(正确是A)A.加⼊更多层,使神经⽹络的深度增加;B.有维度更⾼的数据;C.当这是⼀个图形识别的问题时;D.以上都不正确神经⽹络理论上说是仿照⽣物神经学⼀层层迭代处理结构(⽣物学认为视觉系统是层级结构),层层抽象与迭代,多少层算深层结构没有硬性的规定,⼀般要超过2层。

3、训练CNN时,可以对输⼊进⾏旋转、平移、缩放等预处理提⾼模型泛化能⼒。

这么说是对,还是不对?(正确答案:对)扩充数据是提⾼泛化能⼒常⽤的⽅式,对数据的平移、旋转等是对CNN训练数据的扩充的操作⽅式。

4、下⾯哪项操作能实现跟神经⽹络中Dropout的类似效果?A.BoostingB.BaggingC.StackingD.Mapping(正确:B)典型的神经⽹络其训练流程是将输⼊通过⽹络进⾏正向传导,然后将误差进⾏反向传播,Dropout就是针对这⼀过程之中,随机地删除隐藏层的部分单元,进⾏上述过程。

步骤为:1)随机删除⽹络中的⼀些隐藏神经元,保持输⼊输出神经元不变;2)将输⼊通过修改后的⽹络进⾏前向传播,然后将误差通过修改后的⽹络进⾏反向传播;3)对于另外⼀批的训练样本,重复上述操作。

深度学习(一)-------算法岗面试题

深度学习(一)-------算法岗面试题

深度学习(⼀)-------算法岗⾯试题● BatchNormalization的作⽤参考回答:神经⽹络在训练的时候随着⽹络层数的加深,激活函数的输⼊值的整体分布逐渐往激活函数的取值区间上下限靠近,从⽽导致在反向传播时低层的神经⽹络的梯度消失。

⽽Batch Normalization的作⽤是通过规范化的⼿段,将越来越偏的分布拉回到标准化的分布,使得激活函数的输⼊值落在激活函数对输⼊⽐较敏感的区域,从⽽使梯度变⼤,加快学习收敛速度,避免梯度消失的问题。

●梯度消失参考回答:在神经⽹络中,当前⾯隐藏层的学习速率低于后⾯隐藏层的学习速率,即随着隐藏层数⽬的增加,分类准确率反⽽下降了。

这种现象叫做消失的梯度问题。

●循环神经⽹络,为什么好?参考回答:循环神经⽹络模型(RNN)是⼀种节点定向连接成环的⼈⼯神经⽹络,是⼀种反馈神经⽹络,RNN利⽤内部的记忆来处理任意时序的输⼊序列,并且在其处理单元之间既有内部的反馈连接⼜有前馈连接,这使得RNN可以更加容易处理不分段的⽂本等。

●什么是Group Convolution参考回答:若卷积神将⽹络的上⼀层有N个卷积核,则对应的通道数也为N。

设群数⽬为M,在进⾏卷积操作的时候,将通道分成M份,每个group对应N/M个通道,然后每个group卷积完成后输出叠在⼀起,作为当前层的输出通道。

●什么是RNN参考回答:⼀个序列当前的输出与前⾯的输出也有关,在RNN⽹络结构中中,隐藏层的输⼊不仅包括输⼊层的输出还包含上⼀时刻隐藏层的输出,⽹络会对之前的信息进⾏记忆并应⽤于当前的输⼊计算中。

●训练过程中,若⼀个模型不收敛,那么是否说明这个模型⽆效?导致模型不收敛的原因有哪些?参考回答:并不能说明这个模型⽆效,导致模型不收敛的原因可能有数据分类的标注不准确,样本的信息量太⼤导致模型不⾜以fit整个样本空间。

学习率设置的太⼤容易产⽣震荡,太⼩会导致不收敛。

可能复杂的分类任务⽤了简单的模型。

公司深度学习面试题目(3篇)

公司深度学习面试题目(3篇)

第1篇一、基础知识与概念1. 什么是深度学习?- 深度学习是机器学习的一个子领域,它通过构建和训练深层神经网络模型来模拟人脑处理信息的方式,从而实现复杂模式识别和预测。

2. 什么是神经网络?- 神经网络是一种模仿人脑神经元连接方式的计算模型,由相互连接的神经元组成,通过调整连接权重来学习和存储信息。

3. 请简述神经网络的三个主要组成部分。

- 输入层、隐藏层和输出层。

4. 什么是激活函数?- 激活函数是神经网络中用于引入非线性特性的函数,它可以将线性组合的输出映射到非线性的范围,从而增加模型的表达能力。

5. 常见的激活函数有哪些?请分别说明其特点和适用场景。

- Sigmoid、Tanh、ReLU、Leaky ReLU、ELU等。

Sigmoid和Tanh适用于回归问题,ReLU和Leaky ReLU适用于分类问题。

6. 什么是梯度下降法?- 梯度下降法是一种优化算法,用于调整神经网络中连接权重,以最小化损失函数。

7. 什么是反向传播算法?- 反向传播算法是梯度下降法在神经网络中的应用,通过计算损失函数对网络权重的梯度,来更新网络权重。

8. 什么是过拟合和欠拟合?- 过拟合是指模型在训练数据上表现良好,但在未见数据上表现不佳,即模型对训练数据过于敏感。

欠拟合是指模型在训练数据上表现不佳,即模型对训练数据不够敏感。

二、模型架构与设计9. 什么是卷积神经网络(CNN)?- CNN是一种用于处理图像数据的神经网络,通过卷积层、池化层和全连接层来提取图像特征。

10. 请简述CNN的三个主要层及其作用。

- 卷积层:提取图像特征;池化层:降低特征的空间分辨率;全连接层:进行分类或回归。

11. 什么是循环神经网络(RNN)?- RNN是一种用于处理序列数据的神经网络,能够处理时序信息。

12. 请简述RNN的三个主要组成部分及其作用。

- 输入层:接收序列数据;隐藏层:存储序列信息;输出层:生成序列输出。

13. 什么是长短期记忆网络(LSTM)?- LSTM是一种特殊的RNN,能够学习长期依赖关系。

深度学习面试题

深度学习面试题

深度学习⾯试题1.列举常见的⼀些范数及其应⽤场景,如L0,L1,L2,L∞,Frobenius范数答:p39-p40 ;还有p230-p236有regularization的应⽤2.简单介绍⼀下贝叶斯概率与频率派概率,以及在统计中对于真实参数的假设。

答:p553.概率密度的万能近似器答:p67:3.10上⾯那⼀段4.简单介绍⼀下sigmoid,relu,softplus,tanh,RBF及其应⽤场景答:sigmoid和softplus在p67页;全部的在p193-p1975.Jacobian,Hessian矩阵及其在深度学习中的重要性答:p86-p926.KL散度在信息论中度量的是那个直观量答:p747.数值计算中的计算上溢与下溢问题,如softmax中的处理⽅式答:p80-p818.与矩阵的特征值相关联的条件数(病态条件)指什么,与梯度爆炸与梯度弥散的关系答:p82;9.在基于梯度的优化问题中,如何判断⼀个梯度为0的零界点为局部极⼤值/全局极⼩值还是鞍点,Hessian矩阵的条件数与梯度下降法的关系10.KTT⽅法与约束优化问题,活跃约束的定义答:p93-p9511.模型容量,表⽰容量,有效容量,最优容量概念答:p111;p113;p114;p11512.正则化中的权重衰减与加⼊先验知识在某些条件下的等价性答:p119;p13813.⾼斯分布的⼴泛应⽤的缘由答:p63-p6414.最⼤似然估计中最⼩化KL散度与最⼩化分布之间的交叉熵的关系答:p13215.在线性回归问题,具有⾼斯先验权重的MAP贝叶斯推断与权重衰减的关系,与正则化的关系答:p138-p13916.稀疏表⽰,低维表⽰,独⽴表⽰答:p14717.列举⼀些⽆法基于地图(梯度?)的优化来最⼩化的代价函数及其具有的特点答:p155 最顶⼀段18.在深度神经⽹络中,引⼊了隐藏层,放弃了训练问题的凸性,其意义何在答:p191-19219.函数在某个区间的饱和与平滑性对基于梯度的学习的影响答:p16020.梯度爆炸的⼀些解决办法答:p30221.MLP的万能近似性质答:p19822.在前馈⽹络中,深度与宽度的关系及表⽰能⼒的差异答:p200-p20123.为什么交叉熵损失可以提⾼具有sigmoid和softmax输出的模型的性能,⽽使⽤均⽅误差损失则会存在很多问题。

深度学习面试题

深度学习面试题

深度学习面试题深度学习是人工智能领域中的一个重要分支,近年来备受关注。

深度学习的发展促进了计算机视觉、自然语言处理、语音识别等各个领域的快速发展。

对于那些想要从事深度学习工作的人来说,经常需要参加面试。

本文将介绍一些常见的深度学习面试题,并为大家提供参考答案。

一、基础知识1. 什么是深度学习?深度学习是一种机器学习方法,通过模拟人类大脑神经网络的工作原理来解决复杂问题。

它通过多层神经网络来提取和学习数据中的高级抽象特征,以实现对数据的高效分类和预测。

2. 请解释神经网络中的前向传播和反向传播。

前向传播是指从输入层到输出层的信号传递过程,每个神经元将收到上一层神经元输出的信号,并将其加权后传递给下一层。

反向传播是指根据神经网络对输入数据的预测结果与真实结果之间的误差,通过调整网络中的权重和偏置来优化训练过程。

3. 请解释损失函数和优化算法。

损失函数是衡量模型预测结果与实际结果之间差异的一种度量指标,常见的损失函数包括平方损失函数、交叉熵损失函数等。

优化算法是通过调整网络中的参数来最小化损失函数的方法,常见的优化算法包括梯度下降法、动量法、Adam算法等。

4. 请解释卷积神经网络(Convolutional Neural Network, CNN)。

卷积神经网络是一种专门用于处理图像和视频等二维数据的深度学习模型。

它通过多层卷积和池化层来提取图像的特征,再通过全连接层进行分类或预测。

卷积层可以通过滑动窗口的方式提取局部特征,池化层可以将图像尺寸进行缩小,有效减少参数数量。

5. 请介绍一下循环神经网络(Recurrent Neural Network, RNN)。

循环神经网络是一种递归结构的深度学习模型,主要用于处理序列数据,如自然语言处理、语音识别等任务。

RNN通过将当前时刻的输入与上一时刻的隐状态进行联合处理,实现对序列数据的信息记忆和依赖建模。

二、实战能力1. 请列举一些常用的深度学习框架。

常用的深度学习框架包括TensorFlow、PyTorch、Keras、Caffe等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.简述激活函数的作用
使用激活函数的目的是为了向网络中加入非线性因素;加强网络的表示能力,解决线性模型无法解决的问题
2.那为什么要使用非线性激活函数?
为什么加入非线性因素能够加强网络的表示能力?——神经网络的万能近似定理
•神经网络的万能近似定理认为主要神经网络具有至少一个非线性隐藏层,那么只要给予网络足够数量的隐藏单元,它就可以以任意的精度来近似任何从一个有限维空间到另一个有限维空间的函数。

•如果不使用非线性激活函数,那么每一层输出都是上层输入的线性组合;此时无论网络有多少层,其整体也将是线性的,这会导致失去万能近似的性质
•但仅部分层是纯线性是可以接受的,这有助于减少网络中的参数。

3.如何解决训练样本少的问题?
1.利用预训练模型进行迁移微调(fine-tuning),预训练模型通常在特征上拥有很好的语义表达。

此时,只需将模型在小数据集上进行微调就能取得不错的效果。

CV 有 ImageNet,NLP 有 BERT 等。

2.数据集进行下采样操作,使得符合数据同分布。

3.数据集增强、正则或者半监督学习等方式来解决小样本数据集的训练问题。

4.如何提升模型的稳定性?
1.正则化(L2, L1, dropout):模型方差大,很可能来自于过拟合。

正则化能有效的降低模型的复杂度,增加对更多分布的适应性。

2.前停止训练:提前停止是指模型在验证集上取得不错的性能时停止训练。

这种方式本质和正则化是一个道理,能减少方差的同时增加的偏差。

目的为了平衡训练集和未知数据之间在模型的表现差异。

3.扩充训练集:正则化通过控制模型复杂度,来增加更多样本的适应性。

4.特征选择:过高的特征维度会使模型过拟合,减少特征维度和正则一样可能会处理好方差问题,但是同时会增大偏差。

5.你有哪些改善模型的思路?
1.数据角度
增强数据集。

无论是有监督还是无监督学习,数据永远是最重要的驱动力。

更多的类型数据对良好的模型能带来更好的稳定性和对未知数据的可预见性。

对模型来说,“看到过的总比没看到的更具有判别的信心”。

2.模型角度
模型的容限能力决定着模型可优化的空间。

在数据量充足的前提下,对同类型的模型,增大模型规模来提升容限无疑是最直接和有效的手段。

3.调参优化角度
如果你知道模型的性能为什么不再提高了,那已经向提升性能跨出了一大步。

超参数调整本身是一个比较大的问题。

一般可以包含模型初始化的配置,优化算法的选取、学习率的策略以及如何配置正则和损失函数等等。

4.训练角度
在越大规模的数据集或者模型上,诚然一个好的优化算法总能加速收敛。

但你在未探索到模型的上限之前,永远不知道训练多久算训练完成。

所以在改善模型上充分训练永远是最必要的过程。

充分训练的含义不仅仅只是增大训练轮数。

有效的学习率衰减和正则同样是充分训练中非常必要的手段。

6.LSTM 可以使用别的激活函数吗?
关于激活函数的选取,在LSTM 中,遗忘门、输入门和输出门使用Sigmoid 函数作为激活函数;在生成候选记忆时,使用双曲正切函数Tanh 作为激活函数。

值得注意的是,这两个激活函数都是饱和的,也就是说在输入达到一定值的情况下,输出就不会发生明显变化了。

如果是用非饱和的激活函数,例如 ReLU,那么将难以实现门控的效果。

Sigmoid 函数的输出在0~1 之间,符合门控的物理定义。

且当输入较大或较小时,其输出会非常接近1 或0,从而保证该门开或关。

在生成候选记忆时,使用Tanh 函数,是因为其输出在−1~1 之间,这与大多数场景下特征分布是0 中心的吻合。

此外,Tanh 函数在输入为0 附近相比Sigmoid 函数有更大的梯度,通常使模型收敛更快。

激活函数的选择也不是一成不变的,但要选择合理的激活函数。

7.如何提高深度学习系统的性能
1.提高模型的结构。

2.改进模型的初始化方式,保证早期梯度具有某些有益的性质,或者具
备大量的稀疏性,或者利用线性代数原理的优势。

3.择更强大的学习算法。

8.为什么需要激活函数?
1.激活函数对模型学习、理解非常复杂和非线性的函数具有重要作用。

2.激活函数可以引入非线性因素。

如果不使用激活函数,则输出信号仅
是一个简单的线性函数。

线性函数一个一级多项式,线性方程的复杂度有限,从数据中学习复杂函数映射的能力很小。

没有激活函数,神
经网络将无法学习和模拟其他复杂类型的数据,例如图像、视频、音频、语音等。

3.激活函数可以把当前特征空间通过一定的线性映射转换到另一个空
间,让数据能够更好的被分类。

9.为什么激活函数需要非线性函数?
1.假若网络中全部是线性部件,那么线性的组合还是线性,与单独一个
线性分类器无异。

这样就做不到用非线性来逼近任意函数。

2.使用非线性激活函数,以便使网络更加强大,增加它的能力,使它可
以学习复杂的事物,复杂的表单数据,以及表示输入输出之间非线性的复杂的任意函数映射。

使用非线性激活函数,能够从输入输出之间生成非线性映射。

10.对fine-tuning (微调模型的理解),为什么要修改最后几层神经网络权值?
使用预训练模型的好处,在于利用训练好的SOTA 模型权重去做特征提取,可以节省我们训练模型和调参的时间。

至于为什么只微调最后几层神经网络权重,是因为:
(1). CNN 中更靠近底部的层(定义模型时先添加到模型中的层)编码的是更加通用的可复用特征,而更靠近顶部的层(最后添加到模型中的层)编
码的是更专业业化的特征。

微调这些更专业化的特征更加有用,它更代表了新数据集上的有用特征。

(2). 训练的参数越多,过拟合的风险越大。

很多SOTA 模型拥有超过千万的参数,在一个不大的数据集上训练这么多参数是有过拟合风险的,除非你的数据集像 Imagenet 那样大。

11.移动端深度学习框架你知道哪些,你用过哪些?
各大公司开源了自己的移动端深度学习框架,其中包括:
•TensorFlow Lite(谷歌)
•Caffe2(Facebook)
•MACE(小米)
•paddle-mobile (百度)
•FeatherCNN(腾讯 AI lab)
•NCNN(腾讯优图)
•Core ML(苹果)
•PocketFlow(腾讯 AI lab)与其他不同,属于模型压缩框架
•xNN(阿里)
•PPL(商汤)
•SNPE(高通)
•TVM(亚马逊)
12.描述一下 LSTM 与 GRU 的区别?
LSTM 与 GRU 二者结构十分相似,不同在于:
1.新的记忆都是根据之前状态及输入进行计算,但是GRU 中有一个重
置门控制之前状态的进入量,而在 LSTM 里没有类似门;
2.产生新的状态方式不同,LSTM 有两个不同的门,分别是遗忘门
(forget gate) 和输入门(input gate),而GRU 只有一种更新门(update gate);
3.LSTM 对新产生的状态可以通过输出门(output gate) 进行调节,而
GRU 对输出无任何调节。

4.GRU 的优点是这是个更加简单的模型,所以更容易创建一个更大的网
络,而且它只有两个门,在计算性上也运行得更快,然后它可以扩大模型的规模。

5.LSTM 更加强大和灵活,因为它有三个门而不是两个。

欢迎大家留言谈谈自己对每个框架的看法~
公众号改版,时间线被打乱,一些精彩文章大家可能错过了。

如果感觉这里的文章对你有帮助,赶紧给「AI职通车」加一个星标吧,第一时间阅读文章。

相关文档
最新文档