AI-Book

zhongqiao yuan 24500b1b99 添加目录 преди 1 година
cv 24500b1b99 添加目录 преди 1 година
ml 1e29ca2abb 添加目录 преди 1 година
Embodied.md c7a778ce05 Add new file преди 1 година
NLP+BERT.md 18234161cd Add new file преди 1 година
PyTorch.md c5b7fbef28 Add new file преди 1 година
README.md b1718f7ee4 Update README.md преди 1 година
TensorFlow.md 3f3c5019ae Add new file преди 1 година
Transfer.md d8728ddc8b Add new file преди 1 година
ai-book-ml.md d40bf3812a Update ai-book-ml преди 1 година
auto-drive.md ddc37aa401 Add new file преди 1 година
cv.md 3a0539c414 Add new file преди 1 година
ml-alg.md e00b419d43 Add new file преди 1 година

README.md

AI-Book

学习计划

学习人工智能是一个系统而深入的过程,涉及数学基础、编程技能、机器学习、深度学习等多个领域。以下是一个为期大约一年的学习计划,旨在帮助你逐步构建起人工智能领域的知识体系:

第1-2个月:基础准备

目标:

  • 掌握必要的数学基础。
  • 学习一门编程语言。

学习内容:

  1. 数学基础

    • 线性代数:向量、矩阵、线性变换、特征值与特征向量等。
    • 概率论与统计学:概率分布、条件概率、贝叶斯定理、随机变量、期望与方差、常见统计分布等。
    • 微积分:导数、偏导数、梯度、链式法则、积分等。
    • 优化理论:梯度下降、牛顿法等。
  2. 编程技能

    • 学习Python,因为它在AI领域广泛应用。
    • 掌握基本语法、数据结构(列表、字典、集合)、控制流、函数、模块等。
    • 学习使用NumPy进行数值计算,Pandas处理数据。

第3-4个月:机器学习入门

目标:

  • 理解机器学习基本概念。

机器学习基础知识

  • 掌握几种经典机器学习算法。

学习内容:

  1. 机器学习基础

    • 监督学习、无监督学习、强化学习基本概念。
    • 评估指标:准确率、精确率、召回率、F1分数、ROC曲线等。
    • 过拟合与欠拟合,交叉验证。
  2. 经典算法

    • 线性回归、逻辑回归。
    • 决策树、随机森林、梯度提升树。
    • 支持向量机、朴素贝叶斯。
    • K-近邻、K-均值聚类。

经典机器学习算法

  1. 实践

    • 在gitpp上反复浏览大量AI项目
    • 使用scikit-learn库实现上述算法。
    • 参与Kaggle竞赛或完成一些小项目,如分类、回归任务。

第5-6个月:深度学习基础

目标:

  • 理解神经网络原理。
  • 掌握深度学习框架。

学习内容:

  1. 神经网络基础

    • 神经元、层、前馈神经网络。
    • 激活函数、损失函数、优化算法。
    • 反向传播算法。
  2. 深度学习框架

    • 学习TensorFlow或PyTorch,理解其核心概念。
    • 使用框架构建和训练简单的神经网络。

实战TensorFlow

实战PyTorch

  1. 实践
    • 实现多层感知机(MLP)进行图像分类或文本分类。
    • 了解卷积神经网络(CNN)和循环神经网络(RNN)的基本原理。

第7-8个月:深入深度学习

目标:

  • 深入理解复杂网络结构。
  • 掌握自然语言处理和计算机视觉的基础。

学习内容:

  1. 高级网络结构

    • 卷积神经网络(CNN):LeNet、AlexNet、VGG、ResNet等。
    • 循环神经网络(RNN)、长短时记忆网络(LSTM)、门控循环单元(GRU)。
    • 生成对抗网络(GAN)、变分自编码器(VAE)。
  2. 应用领域

    • 自然语言处理(NLP):词嵌入、RNN/LSTM在NLP中的应用、Transformer模型、BERT等。
    • 计算机视觉(CV):目标检测、图像分割、风格迁移等。

NLP介绍

计算机视觉-CV-介绍

  1. 实践

    • 使用深度学习框架实现上述网络。
    • 参与更复杂的项目,如图像识别、文本生成等。
  2. 机器人

    • 机器人介绍
    • 具身智能

具身智能

第9-12个月:进阶与实践

目标:

  • 跟进最新研究进展。
  • 完成综合项目,提升实战能力。

学习内容:

  1. 研究前沿
    • 阅读最新论文,了解AI领域的最新进展,如自监督学习、迁移学习、联邦学习等。
    • 关注GitPP上的AI开源项目和社区,参与讨论。

迁移学习

  1. 综合项目

    • 选择一个感兴趣的领域(如智能推荐系统、自动驾驶、医疗影像识别等),从数据收集、预处理到模型设计、训练、部署,全程参与。
    • 尝试复现一些经典的或最新的研究成果。
  2. 软技能

    • 提升论文阅读和写作能力。
    • 学习如何有效沟通和展示研究成果。

学习资源建议:

  • 在线课程:Coursera、网易云课堂、B站上有许多优质的AI课程。
  • 书籍:《深度学习》、《机器学习实战》、《Python编程:从入门到实践》等。
  • 论文:arXiv、Google Scholar是获取最新研究论文的好去处。
  • 社区:GitHub、Reddit的r/MachineLearning、Kaggle等,可以参与讨论,获取灵感。

记得在学习过程中不断实践,理论与实践相结合才能更有效地吸收知识。同时,保持好奇心和持续学习的态度,人工智能领域日新月异,终身学习是必经之路。

#知识集合

迁移学习

智能推荐系统、自动驾驶、医疗影像识别

开源项目

实战 1

自动驾驶

实战 2

医疗影像识别

实战 3

机器人

Getting started

To make it easy for you to get started with GitLab, here's a list of recommended next steps.

Already a pro? Just edit this README.md and make it your own. Want to make it easy? Use the template at the bottom!


Editing this README

When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thank you to makeareadme.com for this template.

Suggestions for a good README

Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information.

Name

Choose a self-explaining name for your project.

Description

Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors.

Badges

On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge.

Visuals

Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method.

Installation

Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection.

Usage

Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README.

Support

Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc.

Roadmap

If you have ideas for releases in the future, it is a good idea to list them in the README.

Contributing

State if you are open to contributions and what your requirements are for accepting them.

For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self.

You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser.

Authors and acknowledgment

Show your appreciation to those who have contributed to the project.

License

For open source projects, say how it is licensed.

Project status

If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers.