model模型 What是什么

  • 社会化大生产角度Model模型 是“劳动产品”, 数字化/数据化时代 自动“炼金机”。

  • 社会角度:金钱与价值创造将在一定程度上,改变社会的“利益分配”与“阶层结构”。

    没错,突破“临界点”,fusion持续稳定的产能。

    先进的生产总会取代落后的生产,同时防止“逆淘汰”阻碍系统进步,世界总会升级。

    “先进的” 与“老破旧”是相对的,矛盾与竞争是社会常态,任何时候都有选择与作为。

    只是数字化与AI模型这种生产方式足够先进。

  • 经济角度: 等同设计生产“印钞机”;如果:

    • 招到足够优秀的核心组织成员,是保障生产的必要前提,集齐fusion“核聚变”;

    • 决策(商业模型)有效,稳固的关系网;

      • Gov的接纳、授权、许可与鼓励;
      • 客户(服务消费方) 的满意度,乐意为此付费;
      • 合作伙伴与供应商(包括软硬件、数据、服务)选择适当;
    • 管理高效(商业、生产、科技等各种秩序可靠、稳定、冗余):

      • 数字时代的生产与管理,既有传统管理成分,更有新特点;
      • 人事、IT、运营、行政、财务、生产团队的组建与动态稳定;
      • 模型设计正确,模型设计方持续的保障数据变化满足需求;

        数据真实可靠,数据提供方可持续的提供可靠的数据服务;

    有以上这些条件,data-driving数据驱动,可持续的产出客户满意的服务(价值 与 金钱);

  • 商业角度: 模型的设计方与运营方 提供的“软服务”。

    • 将人找对,Networking关系网,利益分配,生产协作通畅;
    • 没有完美的人,都有优势与劣势,需求与产出,付出与收获;
  • Model模型是“可重复交付”的 "规律";

    • 模型设计与选取本身,是“大规律”;
    • 模型的参数,是“小规律”;
    • 开会开会,一版一版的模型,一轮一轮的调参,交付;

model模型的 Goal目标:

  • 特别重要的点是: 用采集到的最“实事求是”的“事实数据”,

    推导/拟合 出 “最优参数”;当然我们设计机器和模型,自动推导。

  • 参数未知? 没关系;最坏情况,可以“概率碰撞”SGD(随机梯度下降),

    只要参数是有一定规律的,就可以运用这种规律性来更好更快的确定“碰撞”好“最优参数”.

    类比,例如对于“迷宫”类问题:

    • Stochastic完全随机的,搜索下一步,随机游走漫步;

    • Heuristic上下文启发式的,搜索下一步,例如 A* 算法;

      只要找到/总结出 越多的规律,模型效果就越好;

      信息论角度: 越小的Uncertainty, 越Certain的结果, 注意Uncertainty与Risk的区分;

      管理人员的一大任务就是foresee and reduce uncertainties and risks(展望并减小不确定性和风险).

    • 所以实际上 Model模型是 Model(规律) 与其设计方与运营方 提供的“软服务”。

    • 对有 supervised监督模型, Samples不仅要有X(张量), 还要有Y(Labels标记值);

      对unsupervised无监督模型,Samples只要有X(张量), 就可以得到结果;

    • 设计好概率统计包括Sampling采样模型:

      Reality/Truth <-> PASM(ProbabilityAndStatisticsModel)<-> Population <-> Samples

      正如概率统计老师课上讲的,设计好PASM包括其 population 与 samples 的设置非常重要

    • 采集到最具有事实代表性的datasets: 分为 training桶 和 testing桶,还有随机抽取加入training桶,多次统计平均的方法.

  • 设计好综合的评估尺度Metrics, 与模型本身的错误率Error,

  • 通过epoches(一轮又一轮的)调整步伐(步长,方向,...)小步快跑,

    又快又准的找出最优的模型参数;

  • 使得在找到的“最优”/“最合适”的模型参数,设置为模型状态时,

    总体的综合评估最优。

  • 尺度上的 Error最小(“预测值”与 “真实值”的 Error均差 / SE均差平方)

model模型的 Principle原理

  • 通用组成部分包括不限于(inputs function, outputs function, states update function

    • inputs function规律的将 Tensor inputs 导入模型;
    • preprocessing function预处理函数
    • model module function模型函数
    • 通过:

      Y_pred = model(X_input)

      SE = Y_error^2 = (Y_pred - Y_label)^2;

      to minimize SE
    • 以 MSE 为例:

model模型的 Design设计

  • 首先 model 可有一层或多层,TF自带常用的Model;

    可通过继承基类,实现特殊需求的model Class;
  • “搭积木”方式的高效构筑特殊需求的 Model,

    TF的 Model 设计成可用 Layer(层)模块,类似搭积木的方式,

    低代码拼接,快速构筑完成;

    而为快速“拼装”,其必要的模块,就需要内外都有统一的规范和接口;

机器学习|model.compile()用法

示例:

import tensorflow as tf
from tensorflow.keras import datasets, layers, models class CNN(object):
def __init__(self):
model = models.Sequential()
# 第1层卷积,卷积核大小为3*3,32个,28*28为待训练图片的大小
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))
model.add(layers.MaxPooling2D((2, 2)))
# 第2层卷积,卷积核大小为3*3,64个
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
# 第3层卷积,卷积核大小为3*3,64个
model.add(layers.Conv2D(64, (3, 3), activation='relu')) model.add(layers.Flatten())
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(10, activation='softmax')) model.summary() self.model = model

model.compile()的作用:

  • 为经过设计的Model(神经网络模型)设置好:

    • loss损失函数、
    • optimizer优化器、
    • metrics准确性评价函数。
  • 并且进行编译;

Optimizers优化器:

  • Optimizer 的主要功能是作用在GD(梯度下降)的过程,

    使得Gradient(梯度)更快(快速逼近峰值)更好(不空不漏不乱)的收敛,

    从而尽快找到LossFuction(目标函数)的最小值。

    可以理解为以最优最快方式的寻找最优的“损失”(loss)。
  • Optimizer可选参数:
    • SGD: 随机GD(随机梯度下降)
    • RMSprop(动量)
    • Adam(优化的动量, 常用的选择)
    • Adadelta
    • Adagrad
    • Adamax
    • Nadam
    • Ftrl

Loss损失函数

  • loss(cost) 描述的是 "真实值" 与 "预测值" 之间的信息差;
  • 而损失函数的目的是去计算其中“损失量”的大小,进而得出一个损失/信息熵尽可能小的解,即最优权重参数。

    (如图:随着训练轮次增加,损失值下降的过程)
  • loss function(cost function)是将随机事件或其有关随机变量的取值,

    映射为非负实数以表示该随机事件的Cost(成本)或Risk(风险)的函数。
  • Model(神经网络模型)以某个指标为线索寻找最优权重参数。

loss可选参数

Probabilistic losses

BinaryCrossentropy class

CategoricalCrossentropy class

SparseCategoricalCrossentropy class

Poisson class

binary_crossentropy function

categorical_crossentropy function

sparse_categorical_crossentropy function

poisson function

KLDivergence class

kl_divergence function

回归损失(Regression losses)

MeanSquaredError class

MeanAbsoluteError class

MeanAbsolutePercentageError class

MeanSquaredLogarithmicError class

CosineSimilarity class

mean_squared_error function

mean_absolute_error function

mean_absolute_percentage_error function

mean_squared_logarithmic_error function

cosine_similarity function

Huber class

huber function

LogCosh class

log_cosh function

最大间隔分类(maximum-margin classification)

Hinge class

SquaredHinge class

CategoricalHinge class

hinge function

squared_hinge function

categorical_hinge function

准确性评价函数(Metrics)

准确性评价函数用在评估模型预测的准确性。在模型训练的过程中,我们会记录模型在训练集、验证集上的预测准确性,之后会据此绘制准确率随着训练次数的变化曲线。

Metrics 可选参数

Accuracy metrics

BinaryAccuracy class

CategoricalAccuracy class

SparseCategoricalAccuracy class

TopKCategoricalAccuracy class

SparseTopKCategoricalAccuracy class

Probabilistic metrics

BinaryCrossentropy class

CategoricalCrossentropy class

SparseCategoricalCrossentropy class

KLDivergence class

Poisson class

Regression metrics

MeanSquaredError class

RootMeanSquaredError class

MeanAbsoluteError class

MeanAbsolutePercentageError class

MeanSquaredLogarithmicError class

CosineSimilarity class

LogCoshError class

Classification metrics based on True/False positives & negatives

AUC class

Precision class

Recall class

TruePositives class

TrueNegatives class

FalsePositives class

FalseNegatives class

PrecisionAtRecall class

SensitivityAtSpecificity class

SpecificityAtSensitivity class

Image segmentation metrics

MeanIoU class

Hinge metrics for "maximum-margin" classification

Hinge class

SquaredHinge class

CategoricalHinge class

发布于 2022-11-14 15:40・IP 属地浙江

深度学习(Deep Learning)

机器学习

Keras

SciTech-BigDataAIML-TensorFlow-Model的Goal目标 + Principle原理 + Design设计 + Compile编译:设置(LossFunction+Optimizer+Metrics)与编译的更多相关文章

  1. 学习笔记TF053:循环神经网络,TensorFlow Model Zoo,强化学习,深度森林,深度学习艺术

    循环神经网络.https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/re ...

  2. Design Principle vs Design Pattern 设计原则 vs 设计模式

    Design Principle vs Design Pattern设计原则 vs 设计模式 来源:https://www.tutorialsteacher.com/articles/differen ...

  3. tensorflow model save and restore

    TensorFlow 模型保存/载入 我们在上线使用一个算法模型的时候,首先必须将已经训练好的模型保存下来.tensorflow保存模型的方式与sklearn不太一样,sklearn很直接,一个skl ...

  4. tensorflow C++接口调用目标检测pb模型代码

    #include <iostream> #include "tensorflow/cc/ops/const_op.h" #include "tensorflo ...

  5. python tensorflow model

    step01_formula # -*- coding: utf-8 -*- """ 단순 선형회귀방정식 : x(1) -> y - y = a*X + b (a ...

  6. tensorflow,model,object_detection,训练loss先下降后递增,到几百万,解决tensorflow,model,object,detection,loss,incease

    现象:训练loss一开始下降一部分,跌代到若干次(具体多少和你的learning rate大小有关,大就迭代小就发生,小就需要多几次迭代) 日志如下(下面的日志来源于网络,我自己的日志已经clear掉 ...

  7. 不要怂,就是GAN (生成式对抗网络) (三):判别器和生成器 TensorFlow Model

    在 /home/your_name/TensorFlow/DCGAN/ 下新建文件 utils.py,输入如下代码: import scipy.misc import numpy as np # 保存 ...

  8. [Tensorflow] 使用 Mask_RCNN 完成目标检测与实例分割,同时输出每个区域的 Feature Map

    Mask_RCNN-2.0 网页链接:https://github.com/matterport/Mask_RCNN/releases/tag/v2.0 Mask_RCNN-master(matter ...

  9. tensorflow/model下的各个参数的理解

    首先,这个对应的proto就是 然后config里面的image_resizer等等 就是proto里面的image_resizer 等等,对应的参数可以在proto里面寻找解释和默认值以及类型 再比 ...

  10. tensorflow学习笔记——模型持久化的原理,将CKPT转为pb文件,使用pb模型预测

    由题目就可以看出,本节内容分为三部分,第一部分就是如何将训练好的模型持久化,并学习模型持久化的原理,第二部分就是如何将CKPT转化为pb文件,第三部分就是如何使用pb模型进行预测. 一,模型持久化 为 ...

随机推荐

  1. HTML5和CSS3基础

    HTML元素 空元素 不是所有元素都拥有开始标签.内容和结束标签.一些元素只有一个标签,通常用来在此元素所在位置插入/嵌入一些东西.这些元素被称为空元素例如:元素 `` 是用来在页面插入一张指定的图片 ...

  2. SSM整合3

    目录 数据库 父工程 父工程目录结构 父工程pom.xml dao层 dao层目录结构 pom.xml domain dao 配置文件 mapper配置文件 applicationContext-da ...

  3. docker容器中编辑文件报错bash: vi: command not found问题解决

    一.问题 在docker容器中想编辑mongodb的配置文件,然后用vi就报错了 bash: vi: command not found root@bbbbeb52:/conf# vi mongod. ...

  4. 如何使用Flutter开发执行操作系统shell命令的工具

    @charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...

  5. 自己搭建一个https的dns,让不同的浏览器使用不同的DNS,使用相同的域名访问到不同的主机上

    我有一个web项目,使用域名访问,需要同时运行线上环境和测试环境,为了防止一些css.js缓存影响,在不同的浏览器里分别访问线上环境和测试环境,比如Chrome浏览器访问测试环境,而Safari浏览器 ...

  6. c++单例模式总结

    分类 懒汉式:实例对象在第一次被使用时才进行初始化. 饿汉式:实例在定义时就被初始化. 特点 1.构造函数和析构函数私有化,不允许外部创建实例对象. 2.拷贝构造函数和复制运算符重载被delete,不 ...

  7. SpringBoot项目中model层、Dao层、Mapper层、controller层、service层、entity层作用

    1model(entity) model是模型的意思,与entity.domain.pojo类似,是存放实体的类,类中定义了多个类属性,并与数据库表的字段保持一致,一张表对应一个model类. 主要用 ...

  8. 为什么使用MQ

    在项目中,可将一些无需即时返回且耗时的操作提取出来,进行异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐量. 开发中消息队列通常有如下应用场景: 1.任务异步处理 ...

  9. deepseek-r1的1.5b、7b、8b、14b、32b、70b和671b有啥区别?

    DeepSeek-R1系列提供了多种参数规模的模型(1.5B.7B.8B.14B.32B.70B 和 671B),它们在模型架构.性能表现.资源需求和适用场景上有显著差异.以下是对这些版本的核心区别总 ...

  10. LocalDateTime获取 年月日时分秒和判断日期大小

    环境:java version "13.0.1". 创建一个DateUtils类,提供三个常用方法: String 转换 LocalDateTime的方法. 获取LocalDate ...