一、基本概念
1.人工智能的前沿进展:大模型
Transformer:网络结构,可以建模长距离依赖,更容易并行计算
学习数据:预训练模型与微调,将未标注信息转化为带标注的信息,满足大模型的学习所需数据
基于Prompt,多任务统一学习范式:Transformer+Pretrain+Prompt
大模型技术:训练数据和模型参数超大的模型
大模型技术两个新特征:效果提示,从大炼模型到炼大模型
代价:对大算力需求高,框架挑战
产业利用:文生图,信息检索等
2.人工智能、机器学习和深度学习覆盖的技术范畴是逐层递减的
机器学习:本质是参数估计
算法构成的三要素:假设空间(模型的假设或表达),优化目标(评价或损失函数),寻解算法(优化、求解算法)
3.神经网络基本概念
三个核心点:
神经元。神经网络中每个节点称为神经元,由加权和、非线性变换组成。
多层连接。大量节点按照不同的层次排布,形成多层的结构连接起来。
前向计算(得到输出)和后向传播(更新参数)。
二、模型的构建和训练
1.数据处理
将数据读取,原始数据是一维的,需要通过数据形状变换,形成一个二维矩阵;将数据集划分为训练集和测试集,训练集能够确定模型的参数,而测试集用于评判模型的效果,通常将80%的数据用作训练集;接下来对数据归一化处理((data-min)/(max-min)),使得模型的训练更加高效;最后将数据处理的操作封装成 load data 函数,以波士顿房价预测为例。
#1.数据读取
#导入需要用到的package
import numpy as np
import json
#读入训练数据
datafile='./work/housing.data'
data=np.fromfile(datafile,sep='')
data
#2.数据形状变换
feature_names=['CRIM','ZN','INDUS','CHAS','NOX','RM','AGE',
'DIS','RAD','TAX','PTRATIO','B','LSTAT','MEDV']
feature_num=len(feature_names)
data=data.reshape([data.shape[0]//feature_num,feature_num])
#3.数据集划分
ratio=0.8
offset=int(data.shape[0]*ratio)
training_data=data[:offset]
training_data.shape
#4.归一化处理
maximums,minimums=\
training_data.max(axis=0),\
training_data.min(axis=0),
for i in range(feature_num):
data[:,i]=(data[:,i]-minimums[i])/(maximums[i]-minimums[i])
封装成load data函数,便于下一步模型的调用:
def load_data():
datafile='./work/housing.data'
data=np.fromfile(datafile,sep='')
feature_names&