> 技术文档 > AIGC时代算法工程师的面试秘籍(第三十五式2025.4.21-2025.5.4) |【三年面试五年模拟】

AIGC时代算法工程师的面试秘籍(第三十五式2025.4.21-2025.5.4) |【三年面试五年模拟】


写在前面

【三年面试五年模拟】旨在挖掘&沉淀AIGC算法工程师在实习/校招/社招时所需的干货知识点与面试方法,力求让读者在获得心仪offer的同时,持续增强技术基本面。

欢迎大家关注Rocky的公众号:WeThinkIn
欢迎大家关注Rocky的知乎:Rocky Ding
AIGC算法工程师面试面经秘籍分享:WeThinkIn/Interview-for-Algorithm-Engineer欢迎大家Star~
获取更多AI行业的前沿资讯与干货资源

Rocky最新撰写10万字Stable Diffusion 3和FLUX.1系列模型的深入浅出全维度解析文章: https://zhuanlan.zhihu.com/p/684068402

AIGC算法岗/开发岗面试面经交流社群(涵盖AI绘画、AI视频、大模型、AI多模态、数字人等AIGC面试干货资源)欢迎大家加入:https://t.zsxq.com/33pJ0

文末更多干货技术福利与资源,欢迎大家查阅。


大家好,我是Rocky。

又到了定期学习《三年面试五年模拟》文章的时候了!本周期我们持续更新了丰富的AIGC面试高频问答,依旧干货满满!诚意满满!

Rocky创办的《三年面试五年模拟》项目在持续帮助很多读者获得了心仪的AIGC科技公司和互联网大厂的算法岗offer,收到了大家非常多的好评,Rocky觉得很开心也很有意义!

现在时间来到2025年,随着DeepSeek的横空出世,AIGC时代的科技浪潮破纪录达到了新高峰,AI行业对AIGC技术人才的需求也日益旺盛

**为了帮助大家在2025年的实习、秋招、春招以及社招求职时更加从容和有所依靠,Rocky将《三年面试五年模拟》项目进行重大战略架构升级,并承诺《三年面试五年模拟》项目将陪伴大家和码二代们的整个职业生涯,为大家在AI行业中的求职招聘保驾护航!**详细内容大家可以阅读:

2025年,AIGC算法岗面试必备干货资源发布!

Rocky已经将《三年面试五年模拟》项目的完整版构建在Github上:https://github.com/WeThinkIn/Interview-for-Algorithm-Engineer/tree/main,本周期更新的AIGC面试高频问答已经全部同步更新到项目中了,欢迎大家star!

本文是《三年面试五年模拟》项目的第三十五式,考虑到易读性与文章篇幅,Rocky本次只从Github完整版项目中摘选了2025年4月21号-2025年5月4号更新的部分高频&干货面试知识点,并配以相应的参考答案(精简版),供大家学习探讨。点赞本文,并star咱们的Github项目,你就收获了半个offer!再转发本文,你就收获了0.75个offer!

So,enjoy:

正文开始

目录先行

AI行业招聘信息汇总

  1. 本期共有4大公司新展开AIGC/传统深度学习/自动驾驶算法岗位招聘!

AI绘画基础:

  1. 为什么VAE生成效果不好,但是VAE+Diffusion整体效果就很好?

  2. GAN和Stable Diffusion有哪些差异?

AI视频基础:

  1. 什么是首尾帧生成视频大模型?

  2. 万相首尾帧模型(Wan2.1-FLF2V-14B)架构是什么样的?

深度学习基础:

  1. AIGC时代主流的深度学习框架有哪些?各自有什么特点?

  2. Caffe的depthwise为什么慢,该如何优化?Caffe新加一层需要哪些操作?

机器学习基础:

  1. 在机器学习中降维的方法都有哪些?

  2. 介绍一下机器学习中的朴素贝叶斯算法

Python编程基础:

  1. Python中tuple、list和dict有什么区别?

  2. Python中使用迭代器遍历和非迭代器遍历有什么区别?

模型部署基础:

  1. MACE框架和NCNN框架之间有什么区别?MACE和NCNN各自的加速原理是什么样的?

计算机基础:

  1. 介绍一下计算机中DOS攻击的概念

AI行业招聘信息汇总

  1. 滴滴2025春招开启:https://talent.didiglobal.com/
  2. 神州数码25届春招开启:https://digitalchina.com/aboutus/news/details623.html
  3. ITC 2025届春季校园招聘开启:https://hr.itc.vip/job/school.html
  4. 东方财富26届暑期实习开启:https://zhaopin.eastmoney.com/campus-recruitment/eastmoney/57971/#/

更多AIGC算法岗/开发岗面试干货资源,欢迎加入AIGC算法岗/开发岗求职社群(知识星球):https://t.zsxq.com/33pJ0

AI绘画基础

【一】为什么VAE生成效果不好,但是VAE+Diffusion整体效果就很好?

这个问题最本质的回答是:传统深度学习时代的VAE是单独作为生成模型;而在AIGC时代,VAE只是作为特征编码器,提供特征给Diffusion用于图像的生成。其实两者的本质作用已经发生改变。

同时传统深度学习时代的VAE的重构损失只使用了平方误差,而Stable Diffusion中的VAE使用了平方误差 + Perceptual损失 + 对抗损失。在正则项方面,传统深度学习时代的VAE使用了完整的KL散度项,而Stable Diffusion中的VAE使用了弱化的KL散度项。同时传统深度学习时代的VAE将图像压缩成单个向量,而Stable Diffusion中的VAE则将图像压缩成一个 N×M N\\times M N×M 的特征矩阵。

上述的差别都导致了传统深度学习时代的VAE生成效果不佳。

【二】GAN和Stable Diffusion有哪些差异?

GAN(生成对抗网络)和Stable Diffusion(稳定扩散模型)都是AIGC、传统深度学习、自动驾驶领域的核心模型之一,其核心差异体现在模型架构、训练机制、生成质量及应用场景等方面。以下是Rocky总结的详细对比:

1. 核心机制差异

维度 GAN Stable Diffusion 生成原理 基于对抗训练:生成器(G)与判别器(D)通过博弈优化生成结果。 基于扩散过程:通过逐步去噪(从高斯噪声到目标图像)生成数据,结合潜在空间压缩技术。 训练稳定性 训练不稳定,易出现模式崩溃(生成单一结果)和梯度消失问题。 训练更稳定,优化目标为最小化噪声预测误差,收敛性较好。 生成步骤 单步生成(直接输出图像)。 多步迭代(通常20-50步),逐步修正噪声生成图像。

2. 生成质量与多样性

  • GAN的局限性

    • 多样性不足:易受训练数据分布限制,生成结果可能重复或缺乏创新(如StyleGAN生成人脸时细节固定)。
    • 高分辨率挑战:生成大尺寸图像需复杂架构(如ProGAN逐层训练),资源消耗大。
    • 可控性依赖潜在空间:通过调整潜在向量(如StyleGAN的W空间)控制生成,但语义编辑灵活性较低。
  • Stable Diffusion的优势

    • 高保真与多样性:扩散过程允许生成更复杂、多样的图像(如复杂场景融合)。
    • 文本条件生成:通过CLIP等模型将文本嵌入扩散过程,实现精准的文本到图像控制(如生成“戴墨镜的柯基”)。
    • 分辨率扩展性:利用潜在空间(如64x64压缩)降低计算量,结合超分模型生成4K图像。

3. 架构与资源需求

类别 GAN Stable Diffusion 核心组件 生成器(卷积网络)+ 判别器(分类网络)。 VAE编码器(压缩图像到潜在空间)+ U-Net(噪声预测)+ CLIP(文本条件嵌入)。 计算资源 推理速度快(单步生成),但训练需平衡G/D网络,调参复杂。 训练资源高(需多步反向传播),但推理可通过蒸馏技术加速(如Consistency Models)。 显存占用 低(如StyleGAN-T生成512x512图像仅需0.1秒)。 较高(默认模型需4GB显存生成512x512图像)。

4. 应用场景对比

  • GAN的适用场景

    • 快速生成:实时应用(如游戏角色生成、滤镜效果)。
    • 小数据集优化:在有限数据下(如医学图像)表现优于扩散模型。
    • 特定领域:人脸生成(StyleGAN)、图像风格迁移(CycleGAN)。
  • Stable Diffusion的适用场景

    • 复杂条件生成:文本到图像(DALL·E 3)、图像修复(Inpainting)。
    • 高质量艺术创作:支持LoRA、ControlNet插件,细化控制构图与风格。
    • 数据增强:生成合成数据集提升下游任务性能(如《Stable Diffusion for Data Augmentation》)。

AI视频基础

【一】什么是首尾帧生成视频大模型?

首帧和尾帧生成视频大模型(First-Last Frame to Video, FLF2V)是AI视频领域的核心技术之一,其核心目标是通过用户提供的起始帧和结束帧图像,自动生成中间过渡视频内容。这类AI视频大模型在影视制作、广告创意、游戏开发等地方具有广泛应用价值。

一、技术原理

  1. 条件控制与时空建模

    • 首尾帧语义对齐:通过CLIP等视觉-语言模型提取首帧和尾帧的语义特征,利用交叉注意力机制(Cross-Attention)将特征注入扩散模型的生成过程,确保画面内容与输入图像的一致性。例如,阿里Wan2.1-FLF2V-14B通过首尾帧的CLIP特征引导生成中间帧,实现98%的画面匹配度。
    • 运动轨迹预测:模型学习首尾帧之间的潜在运动规律,例如物体形变、镜头推拉等。采用时序扩散模型(Temporal Diffusion Model)结合运动轨迹预测的双支路架构,优化帧间连贯性,如Vidu Q1的“电影级运镜”功能。
  2. 高效压缩与潜在空间生成

    • 3D因果变分自编码器(3D Causal VAE):如阿里Wan-VAE将1080P视频压缩至1/128尺寸,保留动态细节(如毛发颤动、水波纹理),降低显存占用。
    • 扩散变换器(Diffusion Transformer, DiT):结合全注意力机制(Full Attention)和Flow Matching训练策略,生成高分辨率视频。例如,Wan2.1的DiT模块支持720P输出,并引入零初始化残差连接,避免干扰原始图像生成能力。
  3. 多模态条件融合

    • 支持文本、音频等多模态输入,通过T5文本编码器或音频特征提取模块,增强生成内容的可控性。例如,Wan2.1可动态嵌入中英文字幕,Vidu Q1支持AI音效生成。

二、模型架构

  1. 核心组件

    • 编码器:负责将输入图像压缩至低维潜在空间。例如,Ruyi的Casual VAE模块将时空分辨率分别压缩至1/4和1/8,采用BF16精度表示。
    • 扩散生成模块:基于DiT架构,处理潜在空间序列。阿里Wan2.1的DiT结合3D RoPE位置编码,捕捉时空依赖;图森未来Ruyi的Diffusion Transformer通过运动幅度控制参数调节生成强度。
    • 条件控制分支:专门处理首尾帧输入,如Wan2.1的FLF2V模块将首尾帧与噪声拼接,作为模型输入,并通过掩码机制分离控制信号与生成内容。
  2. 参数规模与训练策略

    • 大参数量模型(如Wan2.1-FLF2V-14B)通过三阶段训练(低分辨率预训练→高分辨率微调→细节优化)提升性能;轻量级模型(如Ruyi-Mini-7B)采用混合并行策略适配消费级显卡。
    • 训练数据:通常使用数百万至数亿视频片段,覆盖多场景、多风格。例如,Ruyi使用200M视频片段训练,Wan2.1结合WebVid-10M等数据集。

三、生成流程

  1. 输入处理

    • 图像预处理:将首尾帧标准化为统一分辨率(如720P),分割为视频序列的首帧和尾帧,并通过插值或循环叠加扩展时长(如Ruyi支持最长5秒/120帧)。
    • 语义特征提取:利用CLIP或ResNet提取图像特征,作为条件输入扩散模型。
  2. 潜在空间生成

    • 噪声注入与去噪:在扩散过程中,模型逐步去除潜在空间中的噪声,同时结合首尾帧特征生成连贯帧序列。例如,Wan2.1通过50步迭代优化细节。
    • 多帧并行生成:所有帧的潜在张量同时初始化,通过自注意力机制保证帧间一致性,避免闪烁问题。
  3. 解码与后处理

    • 潜在空间解码:利用VAE解码器将潜在序列转换为像素空间视频帧。
    • 超分辨率与插值:使用FILM算法或超分模型提升画质,如Vidu Q1支持1080P直出。

四、代表模型对比

模型 参数量 分辨率支持 核心特性 开源情况 Wan2.1-FLF2V-14B 14B 720P 首尾帧精准控制、中英文字幕生成 开源(GitHub) Ruyi-Mini-7B 7.1B 1024×1024 多分辨率适配、运动幅度控制 开源(Hugging Face) Vidu Q1 未公开 1080P 动漫风格优化、AI音效生成 商业API

【二】万相首尾帧模型(Wan2.1-FLF2V-14B)架构是什么样的?

万相首尾帧大模型是一个百亿参数规模(14B)的首尾帧生视频大模型,其核心架构设计旨在实现高可控性、高质量的视频生成。

1. 核心架构:Diffusion in Time(DiT)

  • 基础框架:基于扩散模型(Diffusion Model)与Transformer的融合架构,专为AI视频生成设计。DiT通过Full Attention机制捕捉视频的长时程时空依赖关系,确保生成视频在时间(帧间连贯性)和空间(画面细节一致性)上的高度统一。

2. 视频压缩VAE(变分自编码器)

  • 功能:将输入视频压缩至低维潜在空间,减少计算复杂度。支持720p高清视频的无损压缩,压缩比达256倍。
  • 创新设计
    • 因果性约束:在编码和解码过程中引入时间维度的因果性约束,防止信息泄漏,确保首尾帧与中间帧的逻辑连贯性。

3. 条件控制机制

  • 首尾帧输入处理:用户提供的首帧和尾帧图像与若干零填充中间帧拼接,形成控制视频序列。该序列与噪声及掩码(Mask)拼接后,作为DiT的输入。
  • 指令遵循:通过文本提示词(如“镜头移动”“特效变化”)控制生成内容,模型结合CLIP语义特征与交叉注意力机制动态调整生成细节。

4. 交叉注意力机制(Cross-Attention)

  • 功能:将首尾帧的语义特征(通过CLIP编码器提取)注入DiT生成过程,强化条件控制。
  • 实现方式
    • 首尾帧的CLIP特征与扩散模型的潜在特征进行注意力交互。

万相首尾帧模型架构图

深度学习基础

【一】AIGC时代主流的深度学习框架有哪些?各自有什么特点?

主流深度学习框架的特点及行业应用分析

深度学习框架汇总示意图

1. TensorFlow

特点

  • 灵活性与工业部署:支持静态图与动态图混合编程(Eager Execution),提供SavedModel格式实现跨平台部署(移动端、嵌入式设备)。
  • 生态系统完善:集成TensorBoard可视化工具、TFX流水线工具,支持分布式训练和TPU加速。
  • 多语言支持:核心为C++,上层API支持Python、Java等,适合大规模生产环境。

实际案例

  • 医疗影像分类:使用预训练的ResNet模型(TensorFlow Hub),在肺部CT图像中快速实现肺癌检测,准确率提升15%。

领域应用

  • AIGC:Stable Diffusion的底层优化中,利用TensorFlow Lite将模型压缩至移动端,实时生成高清图像。
  • 传统深度学习:ImageNet图像分类任务中,通过Keras API快速构建InceptionV3模型。
  • 自动驾驶:Waymo使用TensorFlow部署多传感器融合模型,实时处理激光雷达与摄像头数据。
2. PyTorch

特点

  • 动态计算图:支持即时调试,适合研究场景;Autograd机制简化反向传播实现。
  • 社区与科研支持:学术界主流框架,提供TorchScript实现模型序列化,兼容ONNX格式。
  • GPU加速优化:原生支持CUDA,混合精度训练效率提升30%。

实际案例

  • 自然语言处理:基于Transformer架构(Hugging Face库),训练GPT-3模型实现文本生成,参数量达1750亿。

领域应用

  • AIGC:Meta的Make-A-Video工具使用PyTorch动态图特性,实现文本到视频的跨模态生成。
  • 传统深度学习:Fast.ai库简化图像分类任务,5行代码完成CIFAR-10数据集训练。
  • 自动驾驶:特斯拉Autopilot采用PyTorch构建BEV(鸟瞰图)感知模型,优化多目标跟踪算法。
3. Keras

特点

  • 高层抽象与易用性:提供模块化API(如SequentialFunctional),10分钟内可搭建完整神经网络。
  • 多后端支持:兼容TensorFlow、Theano等,适合快速原型开发。
  • 性能局限:过度封装导致灵活性不足,大规模训练速度较慢。

实际案例

  • 手写数字识别:通过MNIST数据集训练LeNet-5模型,代码量仅20行,准确率达99%。

领域应用

  • AIGC:快速试验生成对抗网络(GAN)结构,如DCGAN生成动漫头像。
  • 传统深度学习:教育领域用于教学演示,如LSTM时间序列预测。
  • 自动驾驶:小规模车载系统(如停车标志检测)的轻量级模型部署。
4. Caffe/Caffe2

特点

  • 高效与模块化:专精计算机视觉,模型Zoo提供预训练权重(如AlexNet、VGG)。
  • 工业级优化:支持单GPU每日处理6000万张图像,延迟低至1ms/帧。
  • 扩展性差:新增网络层需手动实现C++/CUDA代码,对RNN支持薄弱。

实际案例

  • 图像分类:2014年ImageNet冠军模型GoogLeNet基于Caffe实现。

领域应用

  • AIGC:较少使用,但在早期风格迁移(如Neural Style)中有应用。
  • 传统深度学习:工业质检中快速部署ResNet进行缺陷检测。
  • 自动驾驶:Mobileye使用Caffe2优化车载视觉模型,实现实时车道线识别。
5. MXNet

特点

  • 分布式性能:支持多GPU/多节点训练,内存占用优化(较TensorFlow减少20%)。
  • 多语言接口:兼容Python、Scala、Julia,适合云平台(如AWS)。
  • 文档不足:社区活跃度低,新手学习成本高。

实际案例

  • 推荐系统:亚马逊使用MXNet构建深度因子分解机(DeepFM),提升广告点击率预测精度。

领域应用

  • AIGC:结合Apache TVM编译器,优化Stable Diffusion推理速度。
  • 传统深度学习:大规模NLP任务(如BERT预训练)的分布式加速。
  • 自动驾驶:百度Apollo早期版本采用MXNet处理高精地图生成。
6. 其他框架
  • PaddlePaddle:百度开发的国产框架,侧重工业落地,支持模型压缩(如PaddleSlim)。
  • JAX:谷歌科研框架,基于自动微分和XLA编译器,适合高性能计算(如AlphaFold)。

总结:框架选择建议

  • 科研与快速迭代:优先选择PyTorch(动态图+社区资源)。
  • 工业部署与跨平台:TensorFlow(生态系统+生产工具链)。
  • 轻量级原型开发:Keras(易用性+快速验证)。
  • 计算机视觉专项:Caffe/Caffe2(性能优化+预训练模型)。

通过结合具体场景需求与框架特性,我们可最大化AIGC技术方案的部署效率与推理效果。

【二】Caffe的depthwise为什么慢,该如何优化?Caffe新加一层需要哪些操作?

一、Depthwise卷积速度瓶颈原因

  1. 内存访问模式低效
    Caffe默认采用NCHW数据布局,Depthwise卷积的逐通道计算导致内存访问跳跃性高,无法充分利用缓存局部性。例如,输入尺寸为[N, C, H, W]时,每个通道独立处理,导致相邻内存地址的数据无法批量加载。

  2. 缺乏专用算法优化

    • 标准卷积通常使用im2col + GEMM优化,但Depthwise的通道间无交互,GEMM效率低下。
    • 未应用Winograd算法(可减少乘加运算量),导致计算密度不足。
  3. 并行化不足
    Caffe的OpenMP线程调度在逐通道处理时粒度较粗,无法有效利用多核CPU。例如,当通道数C=32时,可能仅分配4线程,导致负载不均。

  4. 指令集未充分使用
    未针对ARM NEON或Intel AVX2进行汇编级优化,例如未展开循环或使用SIMD向量化指令。

案例验证
在MobileNetV1的Depthwise卷积层(3x3 kernel,输入尺寸112x112x32)中,Caffe原始实现耗时15ms,而TensorFlow Lite优化后仅需3ms。

二、Depthwise卷积加速方案

  1. 算法级优化

    • Winograd变换:将3x3卷积转换为4x4矩阵运算,减少60%乘法操作。

      F ( 4 , 3 )  Winograd : 需要 16 次乘法(原需 3 x 3 = 9 次 / 点,总 16 x 9 = 144 → 16 x 16 = 256 ) F(4,3) \\text{ Winograd}: 需要16次乘法(原需3x3=9次/点,总16x9=144 → 16x16=256) F(4,3) Winograd:需要16次乘法(原需3x3=9/点,总16x9=14416x16=256

    • 直接卷积优化:避免im2col,通过滑动窗口直接计算,减少内存占用。

  2. 数据布局调整
    将NCHW转为NHWC,提升内存连续性。例如,输入[N, H, W, C]更适应Depthwise的逐通道处理模式。

  3. 指令集加速

    • ARM NEON:使用SIMD指令并行处理4个通道(float32x4_t)。
    • CPU多线程:细粒度划分任务,如按行或通道块分配线程。
  4. 集成加速库
    调用Intel MKL-DNNNVIDIA CuDNN的Depthwise专用API(如CuDNN的cudnnDepthwiseConvolutionForward)。

优化效果
经上述优化后,同一MobileNetV1层的推理时间从15ms降至2.5ms,提升6倍。

三、Caffe添加新层操作步骤

  1. 定义层参数(Proto)
    caffe.proto中新增层的参数消息,例如添加MyLayerParameter

    message LayerParameter { optional MyLayerParameter my_layer_param = 12345;}message MyLayerParameter { optional float scale = 1 [default = 1.0];}
  2. 实现层类(C++)

    • 头文件my_layer.hpp:继承Layer类,声明Forward/Backward函数。
    • 源文件my_layer.cpp:实现CPU/GPU逻辑,例如:
      template <typename Dtype>void MyLayer<Dtype>::Forward_cpu(const vector<Blob<Dtype>*>& bottom, const vector<Blob<Dtype>*>& top) { const Dtype* input = bottom[0]->cpu_data(); Dtype* output = top[0]->mutable_cpu_data(); caffe_cpu_scale(count, scale_, input, output);}
  3. 注册层工厂
    layer_factory.cpp中添加注册宏:

    INSTANTIATE_CLASS(MyLayer);REGISTER_LAYER_CLASS(My);
  4. 编译与测试

    • 修改MakefileCMakeLists.txt,包含新层源码。
    • 编写测试用例,验证数值正确性(如梯度检查)。

案例:添加ScaleLayer实现通道加权,用于风格迁移模型的细节增强。

四、三大领域应用

  1. AIGC(生成式AI)

    • 应用场景:移动端实时风格迁移
    • 技术实现
      优化Depthwise卷积加速轻量级GAN模型(如MobileStyleGAN),在Snapchat等App中实现60FPS滤镜生成。
  2. 传统深度学习

    • 应用场景:工业质检
    • 技术实现
      在Caffe中新增DefectDetectLayer,融合Depthwise优化后的MobileNetV2,实现芯片缺陷检测(吞吐量提升3倍)。
  3. 自动驾驶

    • 应用场景:车载实时语义分割
    • 技术实现
      使用优化后的Depthwise卷积构建轻量级DeepLabV3+,在NVIDIA Jetson平台达到30FPS,添加BilinearUpsampleLayer提升边缘精度。

机器学习基础

【一】在机器学习中降维的方法都有哪些?

机器学习中的降维方法详解

一、常见降维方法分类

降维的核心目标是减少数据特征数量,同时保留关键信息。以下是主要方法及其特点:

方法类型 代表算法 核心思想 适用场景 线性降维 PCA(主成分分析) 通过正交变换将数据投影到方差最大的低维空间 无标签数据,通用特征压缩 LDA(线性判别分析) 最大化类别间差异,最小化类别内差异 有标签数据,分类任务优化 非线性降维 t-SNE(t分布邻域嵌入) 保持高维数据局部结构,适合可视化 高维数据可视化(如文本、图像) UMAP(均匀流形逼近与投影) 保留全局和局部结构,计算效率优于t-SNE 大规模数据可视化与聚类 基于流形学习 Isomap、LLE(局部线性嵌入) 假设数据位于低维流形,通过邻域关系重建距离或权重 非线性结构数据(如人脸、基因) 深度学习 自编码器(Autoencoder) 通过编码器压缩数据,解码器重建,学习低维表示 特征提取、去噪、生成模型 变分自编码器(VAE) 结合概率生成模型,学习潜在空间分布 生成任务(如AIGC) 随机方法 随机投影(Random Projection) 使用随机矩阵近似保留数据距离,计算高效 高维数据快速降维
二、通俗易懂的案例:电商用户行为分析

场景:某电商平台收集了用户的10个维度的数据(年龄、性别、购买频率、浏览时长、点击商品数、购物车添加次数等),需对用户分群以制定营销策略。

问题:直接使用10维数据进行聚类会导致“维度灾难”,计算复杂且难以可视化。

解决方案

  1. 使用PCA进行无监督降维

    • 通过PCA提取前2个主成分,保留85%的方差。
    • 将数据投影到2维平面,发现用户分为3个群体:
      • 高频高价值用户(高购买频率、长浏览时间),
      • 低频浏览用户(高点击次数但低购买),
      • 潜在流失用户(近期无活动)。
  2. 使用t-SNE可视化

    • 若PCA分群不清晰,可用t-SNE进一步降维,保留局部结构,直观展示用户分布。

结果:运营团队针对不同群体推出定向优惠(如向流失用户发送折扣券),提升转化率15%。

三、三大领域中的应用
1. AIGC(生成式AI)
  • 应用场景:生成高质量图像或文本。
    • 方法:变分自编码器(VAE)学习低维潜在空间,控制生成内容。例如,Stable Diffusion通过潜在空间编码文本提示,生成符合语义的图像。
    • 案例:在文本生成中,VAE将输入文本压缩为低维向量,解码时结合注意力机制生成连贯段落。
2. 传统深度学习
  • 应用场景:图像分类与特征提取。
    • 方法:自编码器用于去噪或特征压缩。例如,在MNIST手写数字识别中,自编码器将28x28图像压缩为10维向量,再通过全连接网络分类。
    • 案例:医学影像分析中,PCA预处理MRI数据,减少噪声并加速模型训练。
3. 自动驾驶
  • 应用场景:实时处理传感器数据。
    • 方法:PCA或随机投影处理激光雷达点云数据。例如,Velodyne雷达每秒生成百万级点云,降维后保留关键障碍物轮廓,提升实时检测速度。
    • 案例:在目标跟踪中,t-SNE可视化多目标轨迹,辅助算法优化路径预测。

【二】介绍一下机器学习中的朴素贝叶斯算法

一、算法原理与公式推导

朴素贝叶斯是一种基于贝叶斯定理的分类算法,其核心思想是假设特征之间相互独立(“朴素”假设),从而简化概率计算。以下是公式推导与关键步骤:

1. 贝叶斯定理

贝叶斯定理描述了如何通过已知条件概率计算后验概率:

P ( C i ∣ X ) = P ( X ∣ C i ) ⋅ P ( C i ) P ( X ) P(C_i | X) = \\frac{P(X | C_i) \\cdot P(C_i)}{P(X)} P(CiX)=P(X)P(XCi)P(Ci)

  • P ( C i ) P(C_i) P(Ci) :类别 C i C_i Ci 的先验概率。
  • P ( X ∣ C i ) P(X | C_i) P(XCi) :在类别 C i C_i Ci 下,特征 X X X 的条件概率。
  • P ( C i ∣ X ) P(C_i | X) P(CiX) :后验概率,即在特征 X X X 下样本属于 C i C_i Ci 的概率。
  • P ( X ) P(X) P(X) :证据因子,对所有类别相同,可忽略比较。
2. 朴素假设

假设特征 X=( X 1 , X 2 ,..., X n ) X = (X_1, X_2, ..., X_n) X=(X1,X2,...,Xn) 相互独立,则联合条件概率可分解为:

P ( X ∣ C i ) = ∏ j = 1 n P ( X j ∣ C i ) P(X | C_i) = \\prod_{j=1}^n P(X_j | C_i) P(XCi)=j=1nP(XjCi)

3. 分类决策规则

选择使后验概率最大的类别:

C p r e d= arg ⁡ max ⁡ C iP ( C i ) ∏ j = 1 n P ( X j ∣ C i ) C_{pred} = \\arg\\max_{C_i} P(C_i) \\prod_{j=1}^n P(X_j | C_i) Cpred=argCimaxP(Ci)j=1nP(XjCi)

4. 概率估计方法
  • 离散特征:通过频率统计。

    P ( X j = x j ∣ C i ) = 类别  C i  中特征  X j = x j  的样本数 类别  C i  的总样本数 P(X_j = x_j | C_i) = \\frac{\\text{类别 } C_i \\text{ 中特征 } X_j = x_j \\text{ 的样本数}}{\\text{类别 } C_i \\text{ 的总样本数}} P(Xj=xjCi)=类别 Ci 的总样本数类别 Ci 中特征 Xj=xj 的样本数

  • 连续特征:假设服从高斯分布,用均值和方差估计概率密度。

    P ( X j = x j ∣ C i ) = 1 2 π σ i , j 2 exp ⁡ ( − ( x j − μ i , j ) 2 2 σ i , j 2 ) P(X_j = x_j | C_i) = \\frac{1}{\\sqrt{2\\pi\\sigma_{i,j}^2}} \\exp\\left(-\\frac{(x_j - \\mu_{i,j})^2}{2\\sigma_{i,j}^2}\\right) P(Xj=xjCi)=2πσi,j2 1exp(2σi,j2(xjμi,j)2)

5. 平滑技术(解决零概率问题)

使用拉普拉斯平滑(Laplace Smoothing)避免未出现特征导致概率为零:

P ( X j = x j ∣ C i ) = 计数 + α 总样本数 + α ⋅ N P(X_j = x_j | C_i) = \\frac{\\text{计数} + \\alpha}{\\text{总样本数} + \\alpha \\cdot N} P(Xj=xjCi)=总样本数+αN计数+α

  • α \\alpha α :平滑参数(通常取1)。
  • N N N :特征 X j X_j Xj 的可能取值数。
6. 对数概率(解决数值下溢)

将连乘转换为求和,避免小数相乘导致下溢:

log ⁡ P ( C i ∣ X ) ∝ log ⁡ P ( C i ) + ∑ j = 1 n log ⁡ P ( X j ∣ C i ) \\log P(C_i | X) \\propto \\log P(C_i) + \\sum_{j=1}^n \\log P(X_j | C_i) logP(CiX)logP(Ci)+j=1nlogP(XjCi)

二、通俗易懂的案例:垃圾邮件分类

假设训练数据包含以下邮件,判断新邮件是否为垃圾邮件。

训练数据
邮件内容 类别 “免费领取奖品” 垃圾邮件 “赢取现金大奖” 垃圾邮件 “明天开会讨论项目” 正常邮件 “查看项目文档” 正常邮件
1. 特征提取

选择关键词:“免费”和“赢取”作为特征。

邮件内容 包含“免费” 包含“赢取” 类别 “免费领取奖品” 是(1) 否(0) 垃圾邮件 “赢取现金大奖” 否(0) 是(1) 垃圾邮件 “明天开会讨论项目” 否(0) 否(0) 正常邮件 “查看项目文档” 否(0) 否(0) 正常邮件
2. 计算概率
  • 先验概率

    P ( 垃圾邮件 ) = 2 4 = 0.5 , P ( 正常邮件 ) = 2 4 = 0.5 P(\\text{垃圾邮件}) = \\frac{2}{4} = 0.5, \\quad P(\\text{正常邮件}) = \\frac{2}{4} = 0.5 P(垃圾邮件)=42=0.5,P(正常邮件)=42=0.5

  • 条件概率(使用拉普拉斯平滑, α = 1 \\alpha = 1 α=1 ):

    • 垃圾邮件

      P ( 免费 = 1 ∣ 垃圾 ) =1 + 1 2 + 2 = 0.5 P(\\text{免费}=1 | \\text{垃圾}) = \\frac{1 + 1}{2 + 2} = 0.5 P(免费=1∣垃圾)=2+21+1=0.5

      P ( 赢取 = 1 ∣ 垃圾 ) =1 + 1 2 + 2 = 0.5 P(\\text{赢取}=1 | \\text{垃圾}) = \\frac{1 + 1}{2 + 2} = 0.5 P(赢取=1∣垃圾)=2+21+1=0.5

    • 正常邮件

      P ( 免费 = 1 ∣ 正常 ) =0 + 1 2 + 2 = 0.25 P(\\text{免费}=1 | \\text{正常}) = \\frac{0 + 1}{2 + 2} = 0.25 P(免费=1∣正常)=2+20+1=0.25
      P ( 赢取 = 1 ∣ 正常 ) =0 + 1 2 + 2 = 0.25 P(\\text{赢取}=1 | \\text{正常}) = \\frac{0 + 1}{2 + 2} = 0.25 P(赢取=1∣正常)=2+20+1=0.25

3. 预测新邮件

新邮件内容:“免费赢取现金”,包含“免费”和“赢取”。

  • 计算后验概率

    • 垃圾邮件

      log ⁡ P ( 垃圾 ∣ X ) = log ⁡ 0.5 + log ⁡ 0.5 + log ⁡ 0.5 = − 1.732 \\log P(\\text{垃圾} | X) = \\log 0.5 + \\log 0.5 + \\log 0.5 = -1.732 logP(垃圾X)=log0.5+log0.5+log0.5=1.732

    • 正常邮件

      log ⁡ P ( 正常 ∣ X ) = log ⁡ 0.5 + log ⁡ 0.25 + log ⁡ 0.25 = − 2.773 \\log P(\\text{正常} | X) = \\log 0.5 + \\log 0.25 + \\log 0.25 = -2.773 logP(正常X)=log0.5+log0.25+log0.25=2.773

  • 结果:选择后验概率更大的类别,即垃圾邮件

三、实际应用场景
1. 文本分类(如AIGC)
  • 应用:自动生成文本的类别标注(如新闻分类、情感分析)。
  • 实现:将文本分词后统计词频,通过朴素贝叶斯判断所属类别。
2. 传统深度学习
  • 应用:作为基线模型验证特征有效性。
  • 实现:与TF-IDF结合,用于垃圾邮件过滤或用户评论分类。
3. 自动驾驶
  • 应用:传感器数据分类(如障碍物识别)。
  • 实现:将激光雷达点云或摄像头图像提取特征后,分类为“车辆”“行人”等。

Python编程基础

【一】Python中tuple、list和dict有什么区别?

一、核心概念与区别对比

维度 Tuple(元组) List(列表) Dict(字典) 可变性 不可变(创建后不能增删改元素) 可变(可动态增删改元素) 可变(可动态增删改键值对) 语法 使用圆括号 (1, 2, 3) 使用方括号 [1, 2, 3] 使用花括号 {\"key\": value} 内存效率 高(固定内存分配) 低(动态内存分配) 低(哈希表存储,需额外内存维护键) 查找速度 索引访问(O(1)) 索引访问(O(1)) 键查找(O(1)) 典型用途 存储常量数据(如配置参数) 存储动态序列(如数据流) 存储键值映射(如特征字典) 元素类型 可包含任意类型 可包含任意类型 键必须为不可变类型(如字符串、数字、元组)

二、通俗易懂的案例:学生管理系统

假设需要管理学生的基本信息、课程列表和各科成绩:

  • 学号:一旦分配不可更改 → 使用Tuple存储:student_id = (2023001, \"张三\")
  • 课程列表:可能动态增减(如新增选修课) → 使用List存储:courses = [\"数学\", \"物理\", \"化学\"]
  • 成绩记录:需通过科目名称快速查询分数 → 使用Dict存储:scores = {\"数学\": 90, \"物理\": 85}

三、性能与使用场景总结

数据结构 性能优势 典型场景 Tuple 内存占用低,访问速度快 常量配置、多返回值(如函数返回(loss, acc)List 动态操作灵活 数据流处理、循环遍历(如训练数据批次) Dict 键查找高效(O(1)) 特征工程、参数管理(如模型超参、环境状态)

【二】Python中使用迭代器遍历和非迭代器遍历有什么区别?

一、核心概念与区别

维度 迭代器遍历 非迭代器遍历 实现方式 通过__iter__()__next__()方法实现惰性计算 通过索引直接访问元素(如for i in range(len(list))内存占用 低(按需生成元素,不一次性加载数据) 高(需预加载所有数据到内存) 适用场景 大数据流、实时处理、内存敏感场景 小规模数据集、需要随机访问元素 灵活性 支持无限序列(如斐波那契数列) 仅支持有限序列 性能 延迟计算,节省内存,但单次访问可能稍慢 快速随机访问,但内存占用高

二、关键代码对比

任务 迭代器实现 非迭代器实现 遍历列表 for item in iter_list: for i in range(len(list)): item = list[i] 自定义无限序列 生成器函数yield 无法实现(需预定义长度) 文件读取 逐行for line in file: 一次性lines = file.readlines()

模型部署基础

【一】MACE框架和NCNN框架之间有什么区别?MACE和NCNN各自的加速原理是什么样的?

一、核心差异总结

维度 MACE NCNN 设计目标 移动端异构计算(CPU/GPU/DSP协同) 移动端CPU高效推理(轻量级+极致优化) 硬件支持 高通/联发科/松果芯片的CPU/GPU/DSP 主攻ARM CPU,支持Vulkan GPU扩展 模型格式 支持Caffe/TensorFlow/ONNX转换 支持Caffe/PyTorch/ONNX转换(需PNNX工具链) 性能优化 Winograd卷积+NEON/OpenCL/HVX指令优化 汇编级NEON优化+内存复用+多线程并行 系统响应 自动拆分OpenCL任务保证UI流畅 无特殊设计,依赖开发者控制任务调度 模型保护 支持模型转C++代码+常量混淆 无内置加密功能 社区生态 小米主导,应用集中在手机端 开源社区活跃,腾讯系App广泛使用

二、加速原理对比

1. MACE的加速原理
  • 异构计算融合
    • CPU:ARM NEON指令加速卷积/池化,支持big.LITTLE调度优化能效。
    • GPU:通过OpenCL实现并行计算,针对Adreno/Mali GPU优化内核。
    • DSP:集成高通Hexagon HVX库,加速矩阵运算(如语音识别中的MFCC特征提取)。
  • 算法优化
    • Winograd卷积:减少乘法运算量,提升卷积速度30%以上。
    • 内存依赖分析:动态复用中间结果内存,降低峰值内存占用50%。
  • 系统级优化
    • 任务分片:将长时GPU计算拆分为子任务,避免阻塞UI渲染。

案例:在小米手机的人像模式中,MACE同时调用CPU(人脸检测)+ GPU(背景虚化渲染)+ DSP(景深计算),整体延迟降低40%。

2. NCNN的加速原理
  • 指令级优化
    • ARM NEON汇编:手动编写汇编代码优化卷积/全连接层,相比C++实现提速2-3倍。
    • 内存池技术:预分配内存并复用,减少动态内存分配开销。
  • 计算图优化
    • 算子融合:将Conv+BN+ReLU合并为单一算子,减少中间数据传递。
    • 量化支持:8-bit整数量化模型,体积缩小4倍,推理速度提升1.5倍。
  • 多线程并行
    • 分块计算:将大矩阵拆分为子块,利用多核CPU并行处理。

案例:在微信的视频通话背景虚化功能中,NCNN通过NEON优化实时处理1080P视频流,单帧处理时间从15ms降至6ms。

三、实际应用场景对比

1. AIGC领域
  • MACE应用
    • 移动端Stable Diffusion轻量化:将图像生成模型部署到手机端,利用DSP加速潜在空间解码,生成512x512图像仅需3秒。
  • NCNN应用
    • 实时AI滤镜:在天天P图中,通过量化后的StyleGAN模型实现实时风格迁移,支持10种滤镜并行计算。
2. 传统深度学习
  • MACE应用
    • 工业质检:在工厂边缘设备部署ResNet-18,通过Hexagon DSP加速缺陷检测,吞吐量达200帧/秒。
  • NCNN应用
    • 移动端OCR:在QQ扫描功能中,使用CRNN+CTC模型识别文字,NEON优化使识别速度提升至30ms/行。
3. 自动驾驶
  • MACE应用
    • 多传感器融合:在车载平台中,CPU处理激光雷达点云,GPU渲染BEV地图,延迟控制在50ms内。
  • NCNN应用
    • 车载障碍物检测:通过YOLOv9模型+Vulkan加速,在车机端实现60FPS的实时检测。

四、选择建议

  • 选MACE:需跨CPU/GPU/DSP协同、强调功耗控制(如手机端复杂AI任务)。
  • 选NCNN:追求极致CPU性能、快速部署轻量模型(如移动App嵌入式AI)。

通过框架特性与场景需求的精准匹配,可最大化AI算法在移动端的落地效率。

计算机基础

Rocky从工业界、学术界、竞赛界以及应用界角度出发,总结归纳AI行业所需的计算机基础干货知识。这些干货知识不仅能在面试中帮助我们,还能让我们在AI行业中提高工作效率

【一】介绍一下计算机中DOS攻击的概念

1. DOS攻击(拒绝服务攻击)基本概念

DOS(Denial of Service)攻击是一种通过耗尽目标系统的资源(如带宽、内存、CPU等)或利用系统漏洞,使其无法正常提供服务的网络攻击行为。攻击者通过发送大量无效或恶意请求,导致合法用户无法访问目标服务,从而实现“拒绝服务”的目的。

2. DOS与DDOS的区别

  • DOS:攻击源为单一主机或少量主机,攻击流量集中,容易被识别和阻断。
  • DDOS(分布式拒绝服务攻击):攻击源为分布在多个地理位置的僵尸网络(Botnet),攻击流量分散且规模更大,防御难度显著增加。

3. 攻击原理与常见类型

(1)资源耗尽型攻击
  • SYN洪水攻击(SYN Flood)

    • 原理:利用TCP三次握手的漏洞。攻击者发送大量伪造源IP的SYN请求,服务器响应后等待客户端的ACK确认包。由于攻击者不完成握手,服务器资源被未完成的半连接耗尽。
    • 影响:服务器无法处理新的合法连接。
  • UDP洪水攻击(UDP Flood)

    • 原理:向目标服务器发送大量UDP数据包,占用网络带宽或消耗服务器处理能力。
    • 典型工具:LOIC(Low Orbit Ion Cannon)。
  • HTTP洪水攻击(HTTP Flood)

    • 原理:模拟合法用户发送大量HTTP请求(如GET/POST),耗尽服务器资源。
    • 特点:请求内容可能合法,难以与正常流量区分。
(2)漏洞利用型攻击
  • Ping of Death

    • 原理:发送超大的ICMP数据包(超过IP协议规定的最大长度),导致目标系统崩溃或重启。
    • 现代防御:现代操作系统已修复此漏洞。
  • Slowloris攻击

    • 原理:通过缓慢发送不完整的HTTP请求头,保持与服务器的连接长时间开放,耗尽并发连接数。
    • 特点:攻击流量小但效率高。

4. 防御措施

(1)流量过滤与限速
  • 防火墙与IPS/IDS:识别异常流量并阻断恶意IP。
  • 速率限制(Rate Limiting):限制单个IP的请求频率。
(2)资源优化
  • 负载均衡:将流量分散到多台服务器,避免单点过载。
  • CDN(内容分发网络):缓存静态内容,分担源站压力。
(3)协议加固
  • SYN Cookie:防御SYN洪水攻击,无需在服务器保存半连接状态。
  • TCP/IP协议栈调优:调整半连接队列长度、超时时间等参数。
(4)云服务防护
  • 云清洗服务:由云服务商自动过滤恶意流量,仅转发合法请求。
  • 弹性带宽:动态扩展带宽以应对突发流量。

5. 总结

  • DOS攻击本质:通过资源耗尽或漏洞利用,使目标系统丧失服务能力。
  • 防御核心:结合流量分析、协议优化和分布式架构,提升系统抗压能力。
  • 技术趋势:随着AI和机器学习的发展,攻击检测与防御将更加智能化。

推荐阅读

1、加入AIGCmagic社区知识星球!

AIGCmagic社区知识星球不同于市面上其他的AI知识星球,AIGCmagic社区知识星球是国内首个以AIGC全栈技术与商业变现为主线的学习交流平台,涉及AI绘画、AI视频、大模型、AI多模态、数字人以及全行业AIGC赋能等100+应用方向。星球内部包含海量学习资源、专业问答、前沿资讯、内推招聘、AI课程、AIGC模型、AIGC数据集和源码等干货

那该如何加入星球呢?很简单,我们只需要扫下方的二维码即可。与此同时,我们也重磅推出了知识星球2025年惊喜价:原价199元,前200名限量立减50!特惠价仅149元!(每天仅4毛钱)

时长:一年(从我们加入的时刻算起)

AIGC时代算法工程师的面试秘籍(第三十五式2025.4.21-2025.5.4) |【三年面试五年模拟】

AIGC时代算法工程师的面试秘籍(第三十五式2025.4.21-2025.5.4) |【三年面试五年模拟】

2、Sora等AI视频大模型的核心原理,核心基础知识,网络结构,经典应用场景,从0到1搭建使用AI视频大模型,从0到1训练自己的AI视频大模型,AI视频大模型性能测评,AI视频领域未来发展等全维度解析文章正式发布!

码字不易,欢迎大家多多点赞:

Sora等AI视频大模型文章地址:https://zhuanlan.zhihu.com/p/706722494

3、Stable Diffusion 3和FLUX.1核心原理,核心基础知识,网络结构,从0到1搭建使用Stable Diffusion 3和FLUX.1进行AI绘画,从0到1上手使用Stable Diffusion 3和FLUX.1训练自己的AI绘画模型,Stable Diffusion 3和FLUX.1性能优化等全维度解析文章正式发布!

码字不易,欢迎大家多多点赞:

Stable Diffusion 3和FLUX.1文章地址:https://zhuanlan.zhihu.com/p/684068402

4、Stable Diffusion XL核心基础知识,网络结构,从0到1搭建使用Stable Diffusion XL进行AI绘画,从0到1上手使用Stable Diffusion XL训练自己的AI绘画模型,AI绘画领域的未来发展等全维度解析文章正式发布!

码字不易,欢迎大家多多点赞:

Stable Diffusion XL文章地址:https://zhuanlan.zhihu.com/p/643420260

5、Stable Diffusion 1.x-2.x核心原理,核心基础知识,网络结构,经典应用场景,从0到1搭建使用Stable Diffusion进行AI绘画,从0到1上手使用Stable Diffusion训练自己的AI绘画模型,Stable Diffusion性能优化等全维度解析文章正式发布!

码字不易,欢迎大家多多点赞:

Stable Diffusion文章地址:https://zhuanlan.zhihu.com/p/632809634

6、ControlNet核心基础知识,核心网络结构,从0到1使用ControlNet进行AI绘画,从0到1训练自己的ControlNet模型,从0到1上手构建ControlNet商业变现应用等全维度解析文章正式发布!

码字不易,欢迎大家多多点赞:

ControlNet文章地址:https://zhuanlan.zhihu.com/p/660924126

7、LoRA系列模型核心原理,核心基础知识,从0到1使用LoRA模型进行AI绘画,从0到1上手训练自己的LoRA模型,LoRA变体模型介绍,优质LoRA推荐等全维度解析文章正式发布!

码字不易,欢迎大家多多点赞:

LoRA文章地址:https://zhuanlan.zhihu.com/p/639229126

8、Transformer核心基础知识,核心网络结构,AIGC时代的Transformer新内涵,各AI领域Transformer的应用落地,Transformer未来发展趋势等全维度解析文章正式发布!

码字不易,欢迎大家多多点赞:

Transformer文章地址:https://zhuanlan.zhihu.com/p/709874399

9、最全面的AIGC面经《手把手教你成为AIGC算法工程师,斩获AIGC算法offer!(2024年版)》文章正式发布!

码字不易,欢迎大家多多点赞:

AIGC面经文章地址:https://zhuanlan.zhihu.com/p/651076114

10、50万字大汇总《“三年面试五年模拟”之算法工程师的求职面试“独孤九剑”秘籍》文章正式发布!

码字不易,欢迎大家多多点赞:

算法工程师三年面试五年模拟文章地址:https://zhuanlan.zhihu.com/p/545374303

《三年面试五年模拟》github项目地址(希望大家能多多star):https://github.com/WeThinkIn/Interview-for-Algorithm-Engineer

11、Stable Diffusion WebUI、ComfyUI、Fooocus三大主流AI绘画框架核心知识,从0到1搭建AI绘画框架,从0到1使用AI绘画框架的保姆级教程,深入浅出介绍AI绘画框架的各模块功能,深入浅出介绍AI绘画框架的高阶用法等全维度解析文章正式发布!

码字不易,欢迎大家多多点赞:

AI绘画框架文章地址:https://zhuanlan.zhihu.com/p/673439761

12、GAN网络核心基础知识,网络架构,GAN经典变体模型,经典应用场景,GAN在AIGC时代的商业应用等全维度解析文章正式发布!

码字不易,欢迎大家多多点赞:

GAN网络文章地址:https://zhuanlan.zhihu.com/p/663157306

13、其他

Rocky将YOLOv1-v7全系列大解析文章也制作成相应的pdf版本,大家可以关注公众号WeThinkIn,并在后台 【精华干货】菜单或者回复关键词“YOLO” 进行取用。

Rocky一直在运营技术交流群(WeThinkIn-技术交流群),这个群的初心主要聚焦于技术话题的讨论与学习,包括但不限于算法,开发,竞赛,科研以及工作求职等。群里有很多人工智能行业的大牛,欢迎大家入群一起学习交流~(请添加小助手微信Jarvis8866,拉你进群~)