深度学习入门(看了就会)

article/2025/9/16 16:03:03

什么是深度学习呢?
简单来说就是当你拥有一个数据集的时候,若你想处理它,可能你的反应是for遍历一遍。但深度学习是不需要的。

首先介绍一下深度学习的一些基本概念。
对于一张图片的储存,是分为了三个二维数组,分别是红绿蓝三个颜色。

而我们是将这三个二维数组中的数据全部放到一个列向量中。也就是说,若三个64×64的数组,那列向量x中的元素就是64×64×3个。x作为深度学习的输入,输出我们用y来表示,y的取值是0/1,0表示识别失败,1表示成功。

通常用n表示x维度(上述中n为64643),用m表示训练集的个数.。用X作为整个深度学习的输入,X是m个x组成的n行m列的数组。在python中通常用X.shape输出X的维度,即(n,m)。同理,将输出表示为Y,由m个y组成,Y.shape输出Y的维度(1,m)。

**

logistic回归

**

对于输入X,我们想知道他的输出Y,通常情况下会得到一个Y’,表示它是否满足结果的概率。
已知w是logistic函数的参数,也是n维向量,b就是个实数。
Y’ = w(转置) * x + b , 而对于Y‘ 我们希望它是个零到一之间的数,所以还需要用 sigmoid函数,即Y’ = σ(w(转置) * x + b)。
将括号里面的设为z,可得到z的sigmoid图像:
在这里插入图片描述
其中σ(z) = 1 / (1 + e^(-z) ),
可以看出,z越大,sigmoid(z)越接近1;相反,z越小或是越负数,sigmoid(z)就越接近0。

因此,当你做logistic回归时,你要做的就是学习参数w和b,所以Y’ 就变成了对Y较好的估计。
有时候,会用θ(一个0到n的向量),其中θ(0)就是b,θ(1)到θ(n)就是w。

定义一个损失函数,表示Y’ 和Y 之间的误差。在logistic中定义误差函数为δ(Y’ , Y) = -(y*logy’ + (1-y)*log(1-y’)) , 越小越好。

损失函数是在单个训练样本中定义的,成本函数衡量的是在全体训练样本上的表现。
成本函数J(w , b) = 1/mΣ δ(y’(i) , y(i) )
也就是:J(w , b) = -1/mΣ(y*logy’ + (1-y)*log(1-y’))

上面我们提到过,我们要做的就是找到好的参数w和b,所谓好的w和b就是指让成本函数J(w , b)较小的w和b。而这里的J是凸函数,所以是可以保证存在w和b使J有最小值。

【注:这里可能有同学忘记凸函数是啥了,想知道概念的话翻翻高数书就OK了。这里你只需要知道,如果优化的目标函数是凸函数,则局部极小值就是全局最小值。这也意味着我们求得的模型是全局最优的,不会陷入到局部最优值。】】

J的函数图像:
在这里插入图片描述
可以看到J(w,b)像个碗一样,碗底的红点就是他的最小值,对应的w和b就是我们要找的。通常情况下都是给他初始化,再进行一步步逼近。但是从他的图像可以发现,无论从哪一个点初始化,最终都会得到碗底的那个点。

梯度下降法:
在logistic回归函数中我们使用梯度下降法来寻找w和b。通俗的来讲,梯度下降法就是从某一点开始,沿着当前最陡的坡面下降,迭代多次之后就会找到最优解。

当我们忽略b只看w的时候,图像大概是一个二维的这样的:
在这里插入图片描述

我们会按照如下的方法来进行w的迭代:
w := w - α(dJ / dw),α表示的是学习率,下面会详细介绍如何选择α,它的作用就是控制每一次迭代,或者梯度下降法的步长。括号中的其实就是函数J关于w的导数,理解了之后代码实现中我们都用dw来进行表示,即w := w - α(dw)。
因此,
w := w - α(dJ(w , b) / dw)
b := b - α(dJ(w , b) / dw)

向量化,它的作用可以理解为消除代码中的显式for循环语句,可以极大地缩短时间。

补充一个看论文的常见的标语:
FLOPS(全大写) :是floating point operations per second的缩写,意指每秒浮点运算次数,理解为计算速度。是一个衡量硬件性能的指标。

FLOPs(s小写) :是floating point operations的缩写(s表示复数),意指浮点运算数,理解为计算量。可以用来衡量算法/模型的复杂度。


http://chatgpt.dhexx.cn/article/MD6UFv5L.shtml

相关文章

深度学习知识点全面总结

👨‍💻作者简介:大数据专业硕士在读,CSDN人工智能领域博客专家,阿里云专家博主,专注大数据与人工智能知识分享,公众号:GoAI的学习小屋,免费分享书籍、简历、导图等资料&a…

爬虫 | 破解APP中阿里云滑动验证码

点击“Python编程与实战”,选择“置顶公众号” 第一时间获取 Python 技术干货! 考虑这样一个场景,当你在app端提交订单/登录的时候有一个滑动验证码怎么处理? 一般我们会采用自动化浏览器完成这样的抓取,但是效率太低。…

尝试修改smali码破解App

尝试修改smali码破解App 因需要访问某些网站,我下载了个App,可安装好后一打开我就惊呆了,我早应该想到的: 我哪会甘心?我找到App的安装包,用某软件打开后,在dex文件中找到了关键词“警告”&am…

一步步破解app协议第二步(审计代码)

根据上一篇文章(一步步破解app协议第一步(利用Fiddler搭建抓包环境))我们知道如何抓包,那么如何从抓取的数据包中获取有用的东西呢?请跟随我的脚步一步步走下去。 本文以前面爱流量的协议分析为例子 快速破…

APP逆向案例之(三)sign 参数破解

说明:某新闻APP sign 参数 抓包发现包含内容: url: https://124.*.*.*/api/categorynews/lists 参数: 其中 sign 参数是需要变化的否则访问失败,其余都是固定的 page: 3, size: 10, category: -2, from: -1, lng: 116.363…

逆向破解思路和获取app的代码,脱壳操作(三)

动态库的加载 其实动态库是缓存到我们手机的某个地方,但是他是怎样和我们的app进行链接的呢? 其实是通过这个 来进行链接的,其中他里面有动态编辑器和动态加载器,来进行链接 运用官方工具拆除出UIKit框架 1.具体的步骤我用一个图…

Android逆向笔记-破解某APP签名摘要算法

这里科普几个摘要算法,散列算法(签名算法)有:MD5、SHA1、HMAC 用途:主要用于验证,防止信息被修。具体用途如:文件校验、数字签名、鉴权协议 MD5:MD5是一种不可逆的加密算法&#xf…

APP抓包加密破解(hook)

简介 做APP安全评估,调试代码等,都会要抓取数据包…但现在安全对抗在不断升级,大型公司的APP数据包传输一般都进行加密,和签名校验.还做了证书双向校验.今天介绍下APP抓包加密破解(hook). 测试过程 安装frida-tools 需要先安装Python pip install frida-tools 这里注意Py…

成功破解某app加密接口

逆向工程是一件痛并快乐着的过程 ~请不要转载~ 今天看到某款App的数据挺诱人的,本着探索精神,就尝试了一下接口,发现每次请求都会被限制 1、时间戳限制(算个屁) 2、参数md5加密(反编译) 还…

【逆向】Android逆向破解某APP

每日一言:高手不是叫所有人都输给你,而是叫所有人都想赢你。 欢迎一起讨论和学习,QQ:732258496 QQ群:478720016 前言 三人行必有我师焉,取长补短,借鉴优秀的APP,提升自己的认知和能力&#x…

安卓app逆向破解脱壳教程

From:Hook 神器家族的 Frida 工具使用详解:https://blog.csdn.net/FlyPigYe/article/details/90258758 详解 Hook 框架 frida ( 信抢红包 ):https://www.freebuf.com/company-information/180480.html APP逆向神器之Frida【Android初级篇】…

推荐收藏黑客APP破解常用工具集合

抓包 HTTP请求类 Fiddler/Charles(必备常用工具之一) 最常见的代理抓包工具,这两个就不用多说了吧?应该都知道了。 ProxyDroid(必备常用工具之一) 强制全局代理工具,详细介绍见当你写爬虫抓…

破解app 在so层的密钥key

一、抓包分析 首先下载app半次元,打开并抓取视频链接 二、无需脱壳,用jadx-gui打开 分析加密参数 搜索关键字 一步一步往上推,就知道密钥在System.loadLibrary("random"); 三、hook方法 上frida,hook md5 frida脚本如下 hook.js Ja…

Charles破解和安装【破解APP抓包限制】Xposed+JustTrustMe关闭SSL证书验证

第一步:安装抓包工具 下载 Download a Free Trial of Charles • Charles Web Debugging Proxy​www.charlesproxy.com/download/https://link.zhihu.com/?targethttps%3A//www.charlesproxy.com/download/ 破解网站 Charles破解工具​www.zzzmode.com/mytools/c…

利用沙盒技术破解APP的API协议加密

项目地址:https://github.com/tbruceyu/AppCaller 无聊的需求 前段时间闲的没事,经常刷某视频App。里面有很多有才的人,突然想把他们的视频都给下载下来在电脑上面存起来慢慢看。正好这段时间比较空闲,就尝试去破解一下它的Http…

记一次结合fiddler逆向破解app注册码

某天测试app时,需要注册码才能进入应用,二话不说开始进行破解… 详细过程 运行app时会弹出先输入注册码的弹框,只有输入正确的注册码才可进入。 共采用了3种尝试方式 1.暴力hook 搜索字符串“请输入注册码”,定位到几个可疑函…

【移动安全基础篇】——26、两个简单app破解

1. 试用版软件破解 使用 ApkIde 打开要破解的 app 进行反编译 分别显示各个按钮的相关 smali 代码 将 v0 置为专业版的密钥 保存后重新编译,破解成功2. 网络验证 使用 apkIde 对目标 app 进行反编译操作 定位到点击函数中,分析其中的操作 找到网络连接…

逆向破解思路和获取app的代码,脱壳操作(一)

.我们的app首先是经过我们写代码、最后经过签名、打包最后生成.app文件,那么这个.app的文件在哪里呢,我用我自己的项目做个例子大致他的位置在这里: 他这个其实就是包含我们项目中的资源和我们写的代码,我们要学习逆向那么其实就是…

逆向破解思路和获取app的代码,脱壳操作(四)

加壳 什么是加壳? 我们的ipa文件上传appstore,苹果会给我们做一个加密,其实我们运行在内存中的过程是一个加密的壳程序,当然在手机中我们会对他进行解密壳程序,来直接运行可执行的文件,当然苹果这样做的目…

骚操作“破解“App

mitmproxy就是用于MITM的proxy,MITM即中间人攻击(Man-in-the-middle attack)。用于中间人攻击的代理首先会向正常的代理一样转发请求,保障服务端与客户端的通信,其次会实时查、记录其截获的数据或篡改数据,…