小模型学习(1)-人脸识别

        

【写作背景】因为最近一直在研究大模型,在与客户进行交流时,如果要将大模型的变革性能力讲清楚,就一定要能将AI小模型的一些原理和效果讲清楚,进而形成对比。当然这不是一件简单的事情,一方面大模型分析问题的的本质原理业界依然无法清楚解释,另外一方面理解AI小模型原理本身也有一定门槛,但是我认为必须得试图去理解这些问题。这个背景下,我找出了多年前买的一本《刷脸背后》的书籍重新学习,试图从人脸识别这个场景去理解AI小模型处理问题的思路,进而找出大模型更好的解释之道。

        人脸识别包括三个基本步骤:

        第一步:从图像中检索人脸边框,所用的是人脸检测技术。而人脸检测技术有多种,可以基于肤色的,也可以基于人脸特征点(如眼睛)的方法,等等。

        人脸检测算法主要有DPM、LAEO、Viola&Jones算法,这些算法基本也是通过有标注的图像训练而来;也有基于深度学习的人脸检测算法,如CNN Facial Point Detection人脸检测算法,DDFD人脸检测算法,以及多种算法的混合应用。(类似与当前大模型的MOE,混合专家模型)

        【意外发现,DDFD人脸检测算法是基于基于Alexnet进行微调改造而来的神经网络模型,而Alexnet作为一种深度卷积神经网络模型,其创始人居然是Alex Krizhevsky , Ilya Sutskever and Geoffrey Hinton。Ilya Sutskever 是谁?就是当前火爆的 OpenAI 的联合创始人兼首席科学家,最近联合董事会开除了OPEN AI CEO Sam Altman; Geoffrey Hinton就更厉害了,扫地僧,Ilya Sutskever 的博导)

        第二步:是人脸区域的特征提取。根据算法原理和关注点的不同,人脸特征可以有很多种。深度学习特征是一种特征;还有Gabor,SIFT、HOG等多种特征提取方法。通过PCA、LDA等特征降维的方法得到特征,也可以作为人脸的特征;人脸面部的特征点信息,可以选取5个特征点(双眼中心、鼻子、两个嘴角),或2个特征点(包括眉梢、鼻端、下巴、双眼中心、鼻子、两个嘴角等信息),或30个乃至更多的特征点,每个特征点的位置和像素都可以用于表征人脸的特征。学术界已经有人脸特征点自动定位算法。 人脸特征提取方法,以及最后所使用的特征,对人脸识别的准确度具有关键作用。

        第三步:是训练识别人脸特征与人的标签对应关系的分类模型。经过第二步,训练图像集中每个图像都可以用一个特征向量来表示(如一个4096维的特征向量),最后加上该图像的标签(表示是那个人的人脸)。一个图像对应一行类似与上面所属的记录,如果有m个训练图像,就得到m行这样的记录矩阵。然后,在该矩阵上,使用SVM,KNN,SOFTMAX regression,Logistic regression等方法训练分类模型。利用最后得到的模型,预测测试图像中每个图像对应的人的标签。

        思考:上面人脸识别的三个步骤,可以简单理解为先通过少量特征点找到人脸,然后通过算法提取每个人脸的特征,并用一组特征向量表示,且每个特征向量后面增加一个该人的姓名。比如

【A1,A2,A3,A4,A5,小明】,

如果有m个测试集,就会有一个行的矩阵,就类似构建了数据库,接下来就是使用该数据库。如何使用?把人脸输入,通过特征提取算法提取该人脸的特征向量,然后通过计算与之前构建数据库(就是那个m行的大矩阵)的欧式距离或者余弦相似度,从而找到输入的人脸是谁。

        可以发现,人脸识别的认证,首先必须构建一个全量的人脸特征向量数据库,然后进行识别,那么这类应用其实之中识别已知的对象,对于不在特征库里面的人脸,就没法检出,当然,在人脸识别认证这个场景不存在未知人脸,比如公安部门构建的人脸库,不可能存在漏录(每个人都用身份证)。

关于Alexnet:

 

经常问的问题

Q1. AlexNet有什么用?

答:AlexNet 是一种开创性的卷积神经网络 (CNN),主要用于图像识别和分类任务。它在2012年赢得了ImageNet大规模视觉识别挑战赛,标志着深度学习的突破。AlexNet 的架构凭借其对卷积层和修正线性单元 (ReLU) 的创新使用,为现代深度学习模型奠定了基础,推动了计算机视觉和模式识别应用的发展。

Q2。为什么 AlexNet 比 CNN 更好?

A. AlexNet是CNN的一种特定类型,是一种特别擅长理解图像的神经网络。当 AlexNet 被引入时,它在识别图片中的物体方面表现出了令人印象深刻的结果。它变得流行是因为它更深(有更多层)并使用一些聪明的技巧来提高准确性。所以,AlexNet并不比CNN更好;它是一种 CNN,对使 CNN 在图像相关任务中流行起来具有重要影响。

尾注

快速总结我们在本文中看到的架构。

  • 它有 8 层,具有可学习的参数。
  • 模型的输入是 RGB 图像。
  • 它有 5 个卷积层和最大池化层的组合。
  • 然后它有 3 个全连接层。
  • 所有层使用的激活函数是Relu。
  • 它使用了两个 Dropout 层。
  • 输出层使用的激活函数是Softmax。
  • 该架构中的参数总数为 6230 万个。

参考:

1、《刷脸背后》张重生。

2、【人工智能】回顾人工智能十年发展历程 | 2013-2023 | AlexNet | GAN | Transformer | Resnet | GNN | GPT | Stable Diffusion


3、Introduction to The Architecture of Alexnet 

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

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

相关文章

Mybatis分页插件PageHelper

PageHelper是什么&#xff1f; 是MyBatis提供的分页插件&#xff0c;可以支持MySQL、Oracle等六种数据库。 集成方式如下&#xff1a; 1 引入依赖 <!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper --> <dependency><groupId>co…

反射加载SDK完成统一调用

文章目录 1、需求背景2、接口抽象类具体实现类3、疑问4、存在的问题5、通过反射加载SDK并完成调用5、补充&#xff1a;关于业务网关7、补充&#xff1a;关于SDK的开发 关键点&#xff1a; 接口抽象类&#xff08;半抽象半实现&#xff09;具体实现类业务网关反射加载SDK&#…

JAVA如何调用python

以下代码想通过测试&#xff0c;必须有一个前提&#xff1a;电脑上安装了Python环境。不太习惯说废话&#xff0c;直接上代码了。 以下是用于测试的python代码&#xff08;mytest.py&#xff09;&#xff1a; # 因为用户到了参数处理&#xff0c;所以需要引用 import argpars…

Java学习手册——第五篇数据类型

数据类型&#xff1a;是数据化的基石&#xff0c;如果没有数据类型怎么表示呢&#xff1f;比如年龄可以用整数&#xff1a;18岁。如果有更好的表示方式大家可以留言哟~ 在举个例子就是姓名&#xff0c;我们需要用字符串的形式来表示。这就是数据类型的魅力&#xff0c;而又有同…

TS基础语法

前言&#xff1a; 因为在写前端的时候&#xff0c;发现很多UI组件的语法都已经开始使用TS语法&#xff0c;不学习TS根本看不到懂&#xff0c;所以简单的学一下TS语法。为了看UI组件的简单代码&#xff0c;不至于一脸懵。 一、安装node 对于windows来讲&#xff0c;node版本高…

电脑出现这些现象,说明你的固态硬盘要坏了

与传统机械硬盘&#xff08;HDD&#xff09;相比&#xff0c;固态硬盘&#xff08;SSD&#xff09;速度更快、更稳定、功耗更低。但固态硬盘并不是完美无瑕的&#xff0c;由于颗粒写入机制&#xff0c;可能会在七到十年的预期寿命之前出现故障。所以用户最好为最终故障做好准备…

网页设计中增强现实的兴起

目录 了解增强现实 增强现实的历史背景 AR 和网页设计的交叉点 AR 在网页设计中的优势 增强参与度和互动性 个性化的用户体验 竞争优势和品牌差异化 AR 在网页设计中的用例 结论 近年来&#xff0c;增强现实已成为一股变革力量&#xff0c;重塑了我们与数字领域互动的方式。它被…

【FMCW毫米波雷达设计 】 — FMCW波形

原书&#xff1a;FMCW Radar Design 1 引言 本章研究驱动FMCW雷达的主要波形:线性调频(LFM)波形。我们研究信号的行为及其性质。随后&#xff0c;本章讨论了匹配滤波理论&#xff0c;并研究了压缩这种波形的技术&#xff0c;特别是所谓的拉伸处理&#xff0c;它赋予FMCW雷达极…

DOS 批处理 (二)

DOS 批处理 1. 基础 DOS 命令1.1 基础命令1.2 文件系统操作1.3 文件夹管理1.4 文件管理1.5 网络相关1.6 系统管理1.7 IF、FOR和NETIFFORNET 1. 基础 DOS 命令 command /? 查找帮助DOS命令不区分命令字母的大小写 C:\Users\Administrator>echo 1 1 C:\Users\Administrator…

基于SSM框架的仓库管理系统

基于SSM框架的仓库管理系统 文章目录 基于SSM框架的仓库管理系统 一.引言二.系统设计三.技术架构四.功能实现五.界面展示六.源码获取 一.引言 现代商业环境中&#xff0c;仓库管理对于企业的运营效率和客户满意度至关重要。传统的手工管理方式已经无法满足日益复杂的仓储需求。…

【Spring】SpringBoot日志

SpringBoot日志 日志概述日志使用打印日志获取日志对象使用日志对象打印日志日志框架介绍门面模式SLF4J框架介绍(simple logging facade for java) 日志格式说明日志级别日志级别的分类日志级别的使用 日志配置配置日志级别日志持久化配置日志文件的路径和文件名配置日志文件的…

【刷题篇】动态规划(六)

文章目录 1、最大子数组和2、环形子数组的最大和3、乘积最大子数组4、乘积为正数的最长子数组长度5、 等差数列划分6、最长湍流子数组 1、最大子数组和 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&…

【Unity动画】Avatar Mask

创建 Avatar Mask可以设置那一部分骨骼运动和不运动 然后放在状态机里面的层中来混合 【后续完善】

深入探索 Rust 宏编程

Rust 宏提供了一种强大的方法来编写抽象和重用代码,它们在 Rust 编程中扮演着重要的角色。本文将深入探索 Rust 宏的概念、类型、使用方法以及如何实现自定义宏,以提供一个全面的 Rust 宏编程指南。 Rust 宏简介 宏是 Rust 中的一种元编程工具,它们在编译时运行,用于生成…

linux安装node

文章目录 安装node 安装node 一次手操记录 - 首先安装wget yum install -y wget - 下载nodejs最新的tar包 wget https://cdn.npm.taobao.org/dist/node/v12.12.0/node-v12.12.0-linux-x64.tar.xz - 解压包 tar -xvf node-v12.12.0-linux-x64.tar.xz - 部署bin文件 先确认你no…

30 张图解 HTTP 常见的面试题

前言 在面试过程中&#xff0c;HTTP 被提问的概率还是比较高的 我搜集了 5 大类 HTTP 面试常问的题目&#xff0c;同时这 5 大类题跟 HTTP 的发展和演变关联性是比较大的&#xff0c;通过问答 图解的形式由浅入深的方式帮助大家进一步的学习和理解 HTTP 协议。 HTTP 基本概…

第四节JavaScript 条件语句、循环语句、break与continue语句

一、JavaScript条件语句 在通常的代码中&#xff0c;我们有一些需要决定执行不同动作&#xff0c;这就可以在代码中使用条件语句来完成。 下面是我们常使用的条件语句&#xff1a; if语句&#xff1a;只有当指定条件是true时&#xff0c;执行条件内代码。if…else语句&#…

JavaScript数组的长度

JavaScript数组的长度可以通过数组对象的length属性来获取&#xff0c;长度表示数组中元素的数量。 代码示例&#xff1a; let arr []; // 定义一个空数组 console.log(arr.length); // 输出 0arr.push(1); // 给数组添加元素 arr.push(2); arr.push(3); console.log(arr.le…

项目二 创建与操作学生管理数据库

项目二 创建与操作学生管理数据库 #目标 创建库&#xff1b;查看库&#xff1b;操作库&#xff1b;图形工具操作库1&#xff0c;创建学生管理数据库 #创建数据库 CREATE DATABASE [IF NOT EXISTS] db_name [[DEFAULT] CHARACTER SET charset_name] [[DEFAULT] COLLATE collat…

44.0/认识前端

44.1 目录 44.1.1 网页 44.1.1.1 网页的组成 44.1.1.2 网页的分类 44.1.2 网站 44.1.2.1 网站的分类 44.1.3 主页 44.2. Internet、IP 地址和域名 44.2.1 Internet 44.2.2 IP 44.2.3 域名 44.3. Web 前端技术概述 44.3.1 html5 44.3.2 CSS3 44.3.3 Javascript …