• [其他] 使用 YOLO 进行目标检测:如何提取人物图像
    YOLO(You Only Look Once)是一种流行的用于对象检测的开源神经网络模型。在这篇文章中,我们将解释如何使用 YOLO 提取一堆人(或至少一个人)的图像。首先,我们需要安装 YOLO 库和依赖项。为此,我们将使用 pip 包管理器并安装以下库:pip install numpy pip install opencv-python pip install tensorflow pip install keras接下来我们从官网下载预训练好的YOLO权重和配置文件。这些文件可以在https://pjreddie.com/darknet/yolo/找到。一旦我们有了权重和配置文件,我们就可以使用它们对我们的图像执行对象检测。以下是如何使用 YOLO 检测图像中人物的示例:import cv2 import numpy as np # Load YOLO model net = cv2.dnn.readNet("./yolov3.weights", "./darknet/cfg/yolov3.cfg") # Define input image image = cv2.imread("image.jpg") # Get image dimensions (height, width) = image.shape[:2] # Define the neural network input blob = cv2.dnn.blobFromImage(image, 1 / 255.0, (416, 416), swapRB=True, crop=False) net.setInput(blob) # Perform forward propagation output_layer_name = net.getUnconnectedOutLayersNames() output_layers = net.forward(output_layer_name) # Initialize list of detected people people = [] # Loop over the output layers for output in output_layers:     # Loop over the detections     for detection in output:         # Extract the class ID and confidence of the current detection         scores = detection[5:]         class_id = np.argmax(scores)         confidence = scores[class_id]         # Only keep detections with a high confidence         if class_id == 0 and confidence > 0.5:             # Object detected             center_x = int(detection[0] * width)             center_y = int(detection[1] * height)             w = int(detection[2] * width)             h = int(detection[3] * height)             # Rectangle coordinates             x = int(center_x - w / 2)             y = int(center_y - h / 2)             # Add the detection to the list of people             people.append((x, y, w, h)) # Draw bounding boxes around the people for (x, y, w, h) in people:     cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2) # Show the image cv2.imshow("Image", image) cv2.waitKey(0)在这个例子中,我们首先使用cv2.dnn.readNet方法加载 YOLO 模型。然后,我们定义输入图像并获取其尺寸。接下来,我们通过从图像创建一个斑点并对其像素值进行归一化来定义神经网络输入。最后,我们执行前向传播并在输出层上循环,以提取检测并提取人周围的边界框坐标(我们的兴趣在于人检测)。然后我们可以使用cv2.rectangle方法在原始图像上的人周围绘制边界框。运行此代码后,你应该能够看到检测到的任何人周围都带有边界框。YOLO 对象检测 | 来源(https://unsplash.com/photos/kY8m5uDIW7Y)如果你想去除重复的矩形,你可以使用 NMS,例如:cv2.dnn.NMSBoxes(boxes, confidences, score_threshold=0.5, nms_threshold=0.4)此外,可以为每个检测到的矩形添加一个标题:cv2.putText(image, label, (x, y + 30), font, 2, color, 3)输出是:YOLO 对象检测(带标签的对象)| 来源(https://unsplash.com/photos/kY8m5uDIW7Y)现在你可以轻松地计算图像中的人数。文章转自:小白学视觉
  • [其他] 图像分割:超像素(Superpixel)分割的大致原理
    一、背景首先一张图片由一个个像素组成(可以看成网格),每个像素可以有一个灰度值(标量)或RGB值(三维向量)。现今一张图片动辄1000*1000=100w像素,因此对于图像处理来说,是非常大的维度。超像素最大的功能之一,便是作为图像处理其他算法的预处理,在不牺牲太大精确度的情况下 降维!二、超像素超像素最直观的解释,便是把一些具有相似特性的像素“聚合”起来,形成一个更具有代表性的大“元素”。而这个新的元素,将作为其他图像处理算法的基本单位。一来大大降低了维度;二来可以剔除一些异常像素点。至于根据什么特性把一个个像素点聚集起来,可以是颜色、纹理、类别等。看下图大家就能一瞥一二:三、超像素算法理论上,任何图像分割算法的过度分割(over-segmentation),即可生成超像素。下面是一个图像分割算法的例子(举此例还因为这里分割标准是依据纹理)。四、超像素算法判别条件市面上如此多的超像素算法,如何比较他们的优劣呢?一般业内参考以下三个指标(具体公式请参考【1】).(1) Undersegmentation Error下图,白色是原图的一个物体,红线是一个个超像素的轮廓,而粉红色的区域就是undersegmentation的区域。显然,这部分区域越大就越不好。(2) Boundary Recall下图,黑色虚线以及实现是原图物体的轮廓,红线是超像素的边界。一个好的超像素算法,应该覆盖原图物体的轮廓。在给予一定缓冲(粉红色区域)的情况下,超像素的边缘可以覆盖原图物体边缘的越多(黑色实线),该算法就越好。(3) Compactness score这个指标衡量了一个超像素是否“紧实”。下图,高下立判相关文章转自:小白学视觉
  • [其他] kaggle图像分割实战要点与技巧总结(2)
    训练技巧尝试不同的学习率。尝试不同的batch size。使用SGD + 动量 并手工设计学习率策略。太多的增强会降低准确率。在图像上进行裁剪做训练,全尺寸图像做预测。使用Keras的ReduceLROnPlateau()作为学习率策略。不使用数据增强训练到平台期,然后对一些epochs使用软硬增强。冻结除了最后一层外的所有层,使用1000张图像进行微调,作为第一步。使用分类别采样在调试最后一层的时候使用dropout和增强使用伪标签来提高分数使用Adam在plateau的时候衰减学习率用SGD使用Cyclic学习率策略如果验证损失持续2个epochs没有降低,将学习率进行衰减将10个batches里的最差的batch进行重复训练使用默认的UNET进行训练对patch进行重叠,这样边缘像素被覆盖两次超参数调试:训练时候的学习率,非极大值抑制以及推理时候的分数阈值将低置信度得分的包围框去掉。训练不同的卷积网络进行模型集成。在F1score开始下降的时候就停止训练。使用不同的学习率。使用层叠的方法用5 folds的方法训练ANN,重复30次。评估和验证按类别非均匀的划分训练和测试集当调试最后一层的时候,使用交叉验证来避免过拟合。使用10折交叉验证集成来进行分类。检测的时候使用5-10折交叉验证来集成。集成方法使用简单的投票方法进行集成对于类别很多的模型使用LightGBM,使用原始特征。对2层模型使用CatBoost。使用 ‘curriculum learning’ 来加速模型训练,这种训练模式下,模型先在简单样本上训练,再在困难样本上训练。使用ResNet50, InceptionV3, and InceptionResNetV2进行集成。对物体检测使用集成。对Mask RCNN, YOLOv3, 和Faster RCNN 进行集成。后处理使用test time augmentation ,对一张图像进行随机变换多次测试后对结果进行平均。对测试的预测概率进行均衡化,而不是使用预测的类别。对预测结果进行几何平均。在推理的时候分块重叠,因为UNet对边缘区域的预测不是很好。进行非极大值抑制和包围框的收缩。在实例分割中使用分水岭算法后处理来分离物体。
  • [其他] kaggle图像分割实战要点与技巧总结(1)
    外部数据使用 LUng Node Analysis Grand Challenge 数据,因为这个数据集包含了来自放射学的标注细节。使用 LIDC-IDRI 数据,因为它具有找到了肿瘤的所有放射学的描述。使用Flickr CC,维基百科通用数据集使用Human Protein Atlas Dataset使用IDRiD数据集数据探索和直觉使用0.5的阈值对3D分割进行聚类确认在训练集和测试集的标签分布上有没有不一样的地方预处理使用DoG(Difference of Gaussian)方法进行blob检测,使用skimage中的方法。使用基于patch的输入进行训练,为了减少训练时间。使用cudf加载数据,不要用Pandas,因为读数据更快。确保所有的图像具有相同的方向。在进行直方图均衡化的时候,使用对比度限制。使用OpenCV进行通用的图像预处理。使用自动化主动学习,添加手工标注。将所有的图像缩放成相同的分辨率,可以使用相同的模型来扫描不同的厚度。将扫描图像归一化为3D的numpy数组。对单张图像使用暗通道先验方法进行图像去雾。将所有图像转化成Hounsfield单位(放射学中的概念)。使用RGBY的匹配系数来找到冗余的图像。开发一个采样器,让标签更加的均衡。对测试图像打伪标签来提升分数。将图像/Mask降采样到320x480。直方图均衡化(CLAHE)的时候使用kernel size为32×32将DCM转化为PNG。当有冗余图像的时候,为每个图像计算md5 hash值。数据增强使用 albumentations 进行数据增强。使用随机90度旋转。使用水平翻转,上下翻转。可以尝试较大的几何变换:弹性变换,仿射变换,样条仿射变换,枕形畸变。使用随机HSV。使用loss-less增强来进行泛化,防止有用的图像信息出现大的loss。应用channel shuffling。基于类别的频率进行数据增强。使用高斯噪声。对3D图像使用lossless重排来进行数据增强。0到45度随机旋转。从0.8到1.2随机缩放。亮度变换。随机变化hue和饱和度。使用D4:https://en.wikipedia.org/wiki/Dihedral_group增强。在进行直方图均衡化的时候使用对比度限制。使用AutoAugment:https://arxiv.org/pdf/1805.09501.pdf增强策略。模型结构使用U-net作为基础结构,并调整以适应3D的输入。使用自动化主动学习并添加人工标注。使用inception-ResNet v2 architecture结构使用不同的感受野训练特征。使用Siamese networks进行对抗训练。使用ResNet50, Xception, Inception ResNet v2 x 5,最后一层用全连接。使用global max-pooling layer,无论什么输入尺寸,返回固定长度的输出。使用stacked dilated convolutions。VoxelNet。在LinkNet的跳跃连接中将相加替换为拼接和conv1x1。Generalized mean pooling。使用224x224x3的输入,用Keras NASNetLarge从头训练模型。使用3D卷积网络。使用ResNet152作为预训练的特征提取器。将ResNet的最后的全连接层替换为3个使用dropout的全连接层。在decoder中使用转置卷积。使用VGG作为基础结构。使用C3D网络,使用adjusted receptive fields,在网络的最后使用64 unit bottleneck layer 。使用带预训练权重的UNet类型的结构在8bit RGB输入图像上提升收敛性和二元分割的性能。使用LinkNet,因为又快又省内存。MASKRCNNBN-InceptionFast Point R-CNNSeresnextUNet and Deeplabv3Faster RCNNSENet154ResNet152NASNet-A-LargeEfficientNetB4ResNet101GAPNetPNASNet-5-LargeDensenet121AC-GANXceptionNet (96), XceptionNet (299), Inception v3 (139), InceptionResNet v2 (299), DenseNet121 (224)AlbuNet (resnet34) from ternausnetsSpaceNetResnet50 from selim_sef SpaceNet 4SCSEUnet (seresnext50) from selim_sef SpaceNet 4A custom Unet and Linknet architectureFPNetResNet50 (5 folds)FPNetResNet101 (5 folds)FPNetResNet101 (7 folds with different seeds)PANetDilatedResNet34 (4 folds)PANetResNet50 (4 folds)EMANetResNet101 (2 folds)RetinaNetDeformable R-FCNDeformable Relation Networks硬件设置Use of the AWS GPU instance p2.xlarge with a NVIDIA K80 GPUPascal Titan-X GPUUse of 8 TITAN X GPUs6 GPUs: 21080Ti + 41080Server with 8×NVIDIA Tesla P40, 256 GB RAM and 28 CPU coresIntel Core i7 5930k, 2×1080, 64 GB of RAM, 2x512GB SSD, 3TB HDDGCP 1x P100, 8x CPU, 15 GB RAM, SSD or 2x P100, 16x CPU, 30 GB RAMNVIDIA Tesla P100 GPU with 16GB of RAMIntel Core i7 5930k, 2×1080, 64 GB of RAM, 2x512GB SSD, 3TB HDD980Ti GPU, 2600k CPU, and 14GB RAM损失函数Dice Coefficient ,因为在不均衡数据上工作很好。Weighted boundary loss 目的是减少预测的分割和ground truth之间的距离。MultiLabelSoftMarginLoss 使用one-versus-all损失优化多标签。Balanced cross entropy (BCE) with logit loss 通过系数来分配正负样本的权重。Lovasz 基于sub-modular损失的convex Lovasz扩展来直接优化平均IoU损失。FocalLoss + Lovasz 将Focal loss和Lovasz losses相加得到。Arc margin loss 通过添加margin来最大化人脸类别的可分性。Npairs loss 计算y_true 和 y_pred之间的npairs损失。将BCE和Dice loss组合起来。LSEP – 一种成对的排序损失,处处平滑因此容易优化。Center loss 同时学习每个类别的特征中心,并对距离特征中心距离太远的样本进行惩罚。Ring Loss 对标准的损失函数进行了增强,如Softmax。Hard triplet loss 训练网络进行特征嵌入,最大化不同类别之间的特征的距离。1 + BCE – Dice 包含了BCE和DICE损失再加1。Binary cross-entropy –  log(dice) 二元交叉熵减去dice loss的log。BCE, dice和focal 损失的组合。BCE + DICE - Dice损失通过计算平滑的dice系数得到。Focal loss with Gamma 2 标准交叉熵损失的升级。BCE + DICE + Focal – 3种损失相加。Active Contour Loss 加入了面积和尺寸信息,并集成到深度学习232模型中。1024 * BCE(results, masks) + BCE(cls, cls_target)Focal + kappa – Kappa是一种用于多类别分类的损失,这里和Focal loss相加。ArcFaceLoss —  用于人脸识别的Additive Angular Margin Loss。soft Dice trained on positives only – 使用预测概率的Soft Dice。2.7 * BCE(pred_mask, gt_mask) + 0.9 * DICE(pred_mask, gt_mask) + 0.1 * BCE(pred_empty, gt_empty) 一种自定义损失。nn.SmoothL1Loss()。使用Mean Squared Error objective function,在某些场景下比二元交叉熵损失好。
  • [其他] 利用边缘检测计算物体面积
    在农业中,通常希望获取不同土地的面积。虽然获取这些土地的面积操作相对容易,但是却涉及高额的费用。另外,如果对于不规则形状的土地,测量土地面积的大小就变得相对困难。幸运的是,有大量以卫星图像的形式公开提供的农场土地数据。如下图所示就是得到的土地的图片。根据这样的图片,应用图像处理算法,就可以计算得到每块土地的面积。我们可以使用导数滤波器,因为它似乎与人类如何区分土地或地块的方式相匹配。当我们观察物体时,我们使用对比度和阴影来确定物体的形状,种类。类似地,可以使用导数滤波器来寻找对比区域。如果像素值与其周围像素之间的差大于阈值,则将其标记为1,否则标记为0。这将创建一个具有选定原始图像边缘的二进制图像。原始图像中存在大量噪点和细节,这可能会降低算法的成功率。建议在应用导数滤波器操作之前,对图像进行模糊滤波去除噪声。我们可以使用任意的模糊滤波器完成图像去噪。由于我们主要目的是消除噪声和微小的细节,同时保留绘图的颜色以用于对比,因此我们使用了4x4的中值滤波器。之后对图像进行灰度化,得到灰度图像以便后续进行边缘检测。具体结果如下图所示。之后尝试了三种边缘检测方法以找到最佳结果。第一种边缘检测滤波器是Sobel滤波器。该滤波器在图像的每个像素上执行梯度检测。内置的Matlab、opencv函数可在水平和垂直方向上执行操作,并将结果组合在一起。具体结果如下所示。通过结果可以知道生成的图像几乎没有噪点。但是,不幸的是将滤波后的图像与原始图像进行比较,可以看出,地块之间的许多分隔线没有被很好地拾取。在农田的颜色与相邻地块差异不大的地区尤其如此。第二种边缘检测方法是Canny过滤器。滤波结果在下面给出,从Canny滤波结果可以看出Canny滤波器检测了了更多的边缘。但是同样存在缺点,这种方式会产生更多的噪声。考虑到Canny算法将通过幅度阈值函数的像素与通过稍低阈值函数的相邻像素合并,这是可以预期的。Canny算法比简单的Sobel滤波器更为复杂。它还取决于事先要进行的高斯平滑。使用中值滤波器可能会阻止最佳结果。通过结果我们可以发现,无论我们使用什么过滤器,都可以看到大多数突出的道路都被检测到了。但是,农田内部的小区域和靠近道路的房屋是否产生的噪声取决于我们选取的滤波器种类。农田图像的这一特征使其非常适合高斯滤波器的拉普拉斯算子。查看测试结果,可以得出一个比较理想的结果。找到的道路数量最多,噪音最小。为了进一步去除图像中的噪声,去除总像素面积小于平均像素面积值的所有白色区域。这个阈值是我们经过多次试验得到的一个经验值。小伙伴也可以尝试其他的阈值。之后对图像进行反转,得到田地的区域。之后对这个结果进行尺寸位4的膨胀运算,结果如下图所示。有了这个图像,计算每个土地的面积就很简单了。Matlab(或OpenCV)的regionprop函数可用于查找每个区域的面积。仍有少量田地不是真正的田地,有些是道路或其他细节。为了减轻这些面积,我们只计算面积大于平均值减去一个标准偏差的区域。然后为每个区上色,并在其位置打印其像素尺寸。结果可以在下图中看到。打印的尺寸是该区域中像素的数值。除非像素和图像尺寸之间存在已知比例,否则这些值将毫无用处。但是,我们知道卫星图(例如Google Maps)往往带有刻度,这就位像素数值提供了意义。结果还是比较满意。该应用程序能够将大多数地块分成自己的特定区域。但是,有一些例外。例如,像素值47,680的大橙色部分将两个区域融合在一起。这可以通过使用膨胀值来解决。要考虑的另一项内容是,道路的扩张确实侵蚀了农场的像素区域。为了获得更准确的农场价值,可能需要将这种侵蚀的结果添加到农场的总面积中。感兴趣的小伙伴可以自行实现。接下俩给出另一个示例结果原文地址:https://towardsdatascience.com/finding-land-area-of-farm-plots-using-edge-detection-5b070cc05c5a作者:Tim Chin
  • [其他] 我所理解的人工智能
    人工智能(Artificial Intelligence,简称 AI)是指运用计算机模拟、延伸和拓展人类的智能的科技领域。随着机器学习、深度学习、自然语言处理等技术的不断发展,人工智能的应用已经渗透到了我们生活的方方面面。一、人工智能的历程早在 1950 年,著名数学家图灵提出了“图灵测试”,并在此基础上发明了世界上第一台计算机。不过当时计算机的能力极为有限,不足以承载更多的 AI 技术。随着计算机技术的飞速进步,现在我们已经有了足够的计算能力和数据存储能力来支持人工智能的发展。二、人工智能的应用人工智能的应用领域非常广泛。以下列举一些比较常见的应用场景:智能家居:人工智能在家居领域的应用非常广泛,比如通过语音识别控制家电、智能照明、智能安全等等。医疗健康:在医疗领域,人工智能可以帮助医生辅助诊断,进行疾病预测,提高治疗效果。金融领域:在金融领域,人工智能可以帮助银行和金融公司识别欺诈,防范风险,同时提高客户体验。教育领域:通过人工智能可以实现教学场景的自动化,提高诊断准确度。游戏领域:人工智能可以帮助游戏开发者提高游戏的交互体验和智能性。无人驾驶:人工智能可以帮助实现自动驾驶,提高交通安全,同时提高效率。三、人工智能的未来人工智能已经渗透到我们日常生活的方方面面,未来的发展前景十分广阔。在人工智能的基础上,将会不断涌现出各种新的技术。以下是一些可能的发展方向:人类和机器的融合:未来我们可能会看到更多的机器人、智能助手等等,这将为人类创造更多个性化、高效的服务。真正的人工智能:目前的 AI 技术虽然已经非常强大,但是它们并没有真正的理解力,未来的 AI 可能不只是模拟人类思维,而是拥有真正的感知、理解和创造能力。多模态 AI:随着技术的不断发展,未来的 AI 可以同时处理视觉、听觉、语音、情感等多种信息。这将为我们创造更多的新乐趣和便利。四、人工智能的挑战虽然人工智能已经走过了漫长的历程,并在多个领域取得了显著成就,但是还面临着很多挑战。以下列举一些比较明显的挑战:隐私和安全问题:人工智能所采集的大量数据可能存在泄密风险,这将是一个重要的风险问题。道德问题:未来 AI 的不断发展将牵涉到伦理问题,如何平衡人类的利益和机器学习的利益是需要我们认真思考的。硬件成本问题:虽然计算硬件的发展非常迅猛,但是人工智能所需要的计算能力还需要迎接更多的挑战。四、总结人工智能技术正在以惊人的速度迎来爆发式增长,其已经渗透到我们生活的各个方面,我们正在迎来一个机器和人类更加紧密相连的新时代。未来,我们需要解决很多隐私、安全、道德和人类自身的问题。如果正确使用 AI 技术,它将为我们带来更多的便利和享受。undefined
  • [公告] 【获奖公示】3.22号直播:从数据仓库发展史浅析数仓未来技术趋势
    <获奖名单>华为云账号 奖项 奖品 微信昵称nukinsan 视频号分享 开发者定制棒球帽 八戒yizhangl 视频号分享 开发者定制棒球帽 一lokenetwork 视频号分享 开发者定制棒球帽 罗上文xj120141121 优质提问 华为云开发者定制T恤  Nomhw81541353 优质提问 华为云开发者定制T恤  bofa-MPMhid_qhzofh1kce2woo1 视频号抽奖 华为云云宝公仔 杨梅hid_7ruzcr5vbv8rd1o 视频号抽奖 华为云云宝公仔 陈粒hid_rd0jt_oop9klud_ 视频号抽奖 开发者定制棒球帽 AA燕子NA 官网抽奖 华为云云宝公仔hw51608555 官网抽奖 定制双肩包 冯龙
  • 零基础解读ChatGPT:对人类未来工作是威胁还是帮助?
    作者:关耳山石目录前言一、ChatGPT是什么?ChatGPT背后的公司ChatGPT背后的技术从GPT-3.5到ChatGPT的意义二、ChatGPT会对我们产生什么影响?三、ChatGPT并非万能四、我们如何利用ChatGPT五、写在最后前言年前到现在,一直被ChatGPT的新闻轰炸,现在还越来越热闹了,关于ChatGPT技术,关于人与ChatGPT未来发展的讨论,网络上众说纷纭。我就让同事从海外注册账号,直接问了ChatGPT这个问题,最后用Stable Diffusion生成了ChatGPT眼中未来的图像,如下图:关于,这幅景象,它是这么描述的:于是,作为一位严谨的“民科”和积极的开发者,立即开始跟随潮流,了解新技术 !希望能与大家一起交流看法,欢迎大家留言讨论~一、ChatGPT是什么?1、ChatGPT背后的公司们·OpenAI&微软要聊ChatGPT,必须得先聊OpenAI。这本来是一家搞全栈AI创新的非盈利组织,重点研究物理机器人,背后甚至还有钢铁侠、彼得·蒂尔、YC总裁Sam(任CEO)等一众硅谷大佬身影,而GPT系列模型只是众多研究方向之一。因为非盈利组织无法进行融资,就搞了个商业的壳子,吸引了微软投资,最后达成的结果是:OpenAI要优先使用微软的技术(主要是Azure),微软得到了OpenAI技术的使用权,这也是ChatGPT与微软之间的联系。2、ChatGPT背后技术·GPT-3.5GPT这模型已经发展四代了,目前开放了GPT-3的API(收费的),ChatGPT用的是GPT-3.5,还有一代GPT-4没见过(据说Bing融合的就是这个)。这个东西到底是干啥的,如果感兴趣,建议去看李宏毅老师的视频,省流版就是: 文字接龙机器人,一个学了2/3的互联网知识,整个Wikipedia,多个书籍库,以及一套“自动补齐”能力的文字接龙机器人。(引至李宏毅老师的视频)但是平时咱们用的输入法基本也会一些文字接龙,但是接起来的感觉前言不搭后语的,为啥ChatGPT就行了呢?网上还找不着GPT-3.5相关的材料,只能研究研究GPT-3的创新点去推断了:模型相当大1750亿参数,这个参数大概意思是表示每个字/词出现的可能性。到底有多大,看下图就有个直观的感受。当然,训练数据量也极其的大,大约是4990亿个Token(简单理解为字/词),号称学了2/3个互联网、整个Wikipedia和几个书籍库。按照这个信息量,一定是高度冗余的,也是绝对充分了。(图片源于网络)“加钱”效果相当好这玩意还有个很神奇的地方,就是有钱能使它推磨,“加价”的效果立竿见影:从趋势来看,模型越大,效果越好。想必将来还会有更大的模型出来,毕竟有多大钱,GPT能创造多少奇迹嘛!(DeepMind还做了个推导,算出来一个模型参数与数据量的最优线性关系)通用性相当好这也算个特别牛的事情,不用进行额外的“调教”,已经学会了干很多事,简直是AI工程师的福音。举个例子,我们有个相似需求推荐的场景,是基于BERT的基础模型,加上一堆(上千条)人工标注的训练数据集,再调优一把,才能使用在我们的场景里。有了这个大力仔,就不需要这一套了,直接拿来即用。而且还有个比较有意思的,哪怕要教模型做点事,也不需要工程师了,直接在输入里写上寥寥几个例子(In Context Learning),模型就学会了。“意识”涌现相当惊人学名叫Chain-of-Thought,思维链,这是最让人惊讶和细思极恐的了。就是当模型足够大,层数足够多的时候,居然还就从量变到质变了,产生了一些类人的逻辑思维能力。这玩意我没看到更深刻的解释,但是从表象上看,确实会做一些逻辑题了。比如算算数、做一些逻辑推理。PS:我从网上看到一个数据,列在这里做个备注 - OpenAI的GPT 3的规模为175B,Google的LaMDA规模为137B,PaLM的规模为540B,DeepMind的Gogher规模为280B等,不一而足。国内也有中文巨型模型,比如清华&智谱GLM规模130B,华为“盘古”规模200B,百度“文心”规模260B,浪潮“源1.0”规模245B。(规模 = 模型的参数规模,单位是Billion)(图片源于网络)3、从GPT-3.5到ChatGPT的意义如果说GPT-3是理论或底层能力的创新,那么ChatGPT的创新就是工程和商业层面的,甚至是一个里程碑式的。这是一个“现象级”的产品首先,我认为,将一个大众无法理解的技术,变成“现象级”产品,是ChatGPT的最牛创新,使得“AI使能”落入寻常百姓家,与每个人产生了化学反应,所以这绝对是划时代的。Google 2022年I/O大会的时候,我也做了一波洞察,看到LaMDA、PaLM的展示,能够体验的人极少,感知到其魅力的也是极少的。而ChatGPT做了个简陋的Playground就迅速抢占了大众的心智,看到有数据说,从0~100万用户只用了5天,过亿只用了2个月,基本没有额外的获客成本。甚至还让竞争对手意识到,再不搞起早起五更都赶不上晚集了。以至于前几天Google不仅召回了两位创始人,快速规划对话式搜索的上线,还大笔投资了OpenAI的“港湾”组织 – Anthropic)。从工程上,我理解ChatGPT是GPT-3.5的一个优化应用。简单说,就是先人肉标注一些GPT-3.5返回数据,以教GPT-3.5说话,然后用强化学习的算法来持续评价,最终实现了这么个神奇的模型。(号称用到了40+的人力来持续教AI做事,据说还有肯尼亚的低价劳工。)可惜不开源ChatGPT不开源,GPT-3.5模型也不开源。两者都不支持在中国使用(包括HK),所以网络上开始有二道贩子开始倒卖,或直接接到微信上付费使用。两者目前都有商业化的手段,GPT模型是直接卖API,ChatGPT出了Plus版,20美刀一个月,优先使用。(GPT-1模型和GPT-2的部分小规模模型是开源的,OpenAI的理由是,大规模模型能力太强大,怕被坏人利用)二、ChatGPT会对我们产生什么影响?首先,我们得先认识到,ChatGPT只是众多LLM中比较会秀的一个。GPT系列属于大规模语言模型(LLM)前沿中的一支,DeepMind(搞AlphaGo下围棋的那公司)、Google、FB,都有自己的优秀实践。从技术能力上,我觉得还远没有到比哪个更好的程度,倒是ChatGPT这一波秀出圈以后,大家找金主爸爸要钱会更容易了,这是个大家都开心的事儿。关于替代人类工作的讨论,用微软CEO纳德拉的话说:“信息的整合、转译和流通,变得廉价”。因此对于所有与信息整合、转译和流通相关的工作,还是会有影响。侵入“创造性”工作GPT模型已经离谱到,直接把图案转成向量喂给它,就能帮我们补齐图片(image-gpt)的地步,或许我们曾以为的文案、绘图,甚至是编码这些曾经被认为无法被AI替代的工作都将被入侵。取代“搜索和问答”人类在已有知识的搜索和输出上,可能永远无法超过AI。Google已经开始加快LaMDA的速度,然后是微软继续加注OpenAI并开始在Bing中融入,再然后StackOverflow(技术类知识问答界的明珠)用户量降了3200万,所以我觉得,大模型是靠谱的,替代也是迟早的事儿。让AI应用更简单ChatGPT的Zero-shot效果显著(LLM有三种学习方式,Few-shot、One-shot、Zero-shot,讲人话就是举多反一、举一反一、无中生有),这个能力在语言模型中,影响极其深远。简单来说,就是我们如果想在项目中引入AI能力,GPT很好的通用性、极少的“调教”量会使得工程上更简单。ChatGPT背后基础模型能力成熟且强,更多此类大模型被打造出来后,使得千千万万的AI加持变成可能,实现“AI使能”落入寻常百姓家。而且,OpenAI卖通用AI的API的生意还是可以赚钱的(见下图,1k token大约等于750个字,看着不算贵,默认还有18刀的体验费用),这里不得不开个玩笑:AI工程师们,你们把AI的道拓宽了,把自己的道都走窄了啊!三、ChatGPT并非万能从根子上理解,GPT算法在做的其实是“补齐”工作:即通过学习人类说话的方式,基于上下文,推测后面你打算说啥。具体要回答啥,则完全靠概率计算,靠“违和感”。如此一来,当下的GPT算法势必就有几个特点:需要海量的数据、算力和钱搞个这种算法,总共烧了多少钱呢?22年是5个亿刀,前七年40亿刀,最近微软新加注100亿刀。(我看网上说,ChatGPT训练下来大约1200多万美金,这样看来,微软的投资,还是打好算盘的,钱要花在自己身上才算值)。而且,搜索引擎和信息入口企业已占先机,想要再进入,都需要更多的数据、钱和算力。当然,还需要很多标注人力来调教模型,让其有人的习惯和三观。真实版“人云亦云”:类比鹦鹉学舌,有响应不代表有思考,响应够用也不代表足够 优美。虽然它对通识类的知识理解,效果非常好(何谓通识?就是搜索引擎能搜出一堆来的知识,互联网本身信息已经高度冗余了,只是作为个体的人类不太清楚罢了),但其实AI也并不知道自己说的对不对,它只是知道,大家一般都这么说,然后做一些看起来不错的回答。(思维链除外,这个东西细思极恐,只是欺负它目前还没有那么成熟)时效性问题即目前ChatGPT学的是2021年前的知识,所以不知道2022年世界杯谁赢了,不过对于这个问题是可解的。OpenAI的WebGPT算法,已经与Bing结合,把最新的信息投喂给模型,如此一来,它也就知道最新消息了。(我不清楚具体是如何实现,猜测应该不是去实时训练基础模型,而是在上层叠加了什么)四、我们如何利用ChatGPT这个问题我想再扩大一点,扩大到AIGC这个话题上,AIGC已经被Science列为2022年TOP10科学突破,2022年是当之无愧的AIGC元年,结合我们的日常工作,我认为以下方面是可以快速尝试和引入的:信息摘要和初级创作:主要用于日常办公效率提升的场景从信息摘要的角度,这就是信息爆炸时代的良药,简要描述为用魔法打败魔法:直接让AI从繁杂的信息中摘取需要的重点内容,节约人力;从初级创作性工作替代上来看, AIGC可以快速帮我们做完早期的工作,更多精力投入“微雕”。从OpenAI的Codex来看(支撑Github Copilot),对于常用算法、业务逻辑代码、重构(包括跨语言的重构,比如从java改成go)、代码注释(福音啊!)等的代码生成能力已经逐渐成型, 我试着面向GPT编程,效果相当好:语法工整、注释清晰、变量准确(除了逻辑错了一丢丢 – 返回是月末周日,而不是周六)通识类问题解答:主要用于通识类知识搜索和问答场景,在公开域搜索信息,以减少人力搜索和辨别的过程。IT系统拟人化:主要用于人机交互场景,这个用途好像很少有人提,可能太偏门了。我觉得其实AIGC特别合适帮我们IT系统的输出更“丝滑”、更“拟人”、更“准确”,优化机器输出更加的“人性化”,符合普遍大众的习惯。五、写在最后“吾生也有涯,而知也无涯。以有涯随无涯,殆已!”,我觉得古人的智慧足以回答关于人类与ChatGPT未来发展的问题,在我看来,对于ChatGPT,甚至是更宽广的技术发展来说,科技是为了解放人类的双手,让我们用更充足的精力去进行思考、探索和创造,AI应该成为我们的辅助能力,而不是竞争者。想要了解华为盘古大模型的,回复“盘古大模型”,文末领取丰厚资料包~
  • [问题求助] web3.0是什么
    web3.0是什么,有老师可以讲的小白能听得懂吗?
  • [其他] 什么是web3.0
    什么是web3.0什么是web3.0什么是web3.0什么是web3.0
  • [问题求助] 如何学习chatgpt
    如何学习chatgpt,学习chatgpt应该具备什么样的知识基础
  • [问题求助] 如何学习chatgpt
    如何学习chatgpt,学习chatgpt应该具备什么样的知识基础
  • [其他问题] ChatGPT是什么
    ChatGPT是什么ChatGPT是什么ChatGPT是什么ChatGPT是什么ChatGPT是什么
  • [其他] ChatGPT到底牛在哪?
    人工智能研究实验室OpenAI在2022年11月30日发布了自然语言生成模型ChatGPT,上线两个月就已经超过一亿用户,成为了人工智能界当之无愧的超级大网红。ChatGPT凭借着自身强大的拟人化及时应答能力迅速破圈,引起了各行各业的热烈讨论。简单来说ChatGPT就是可以基于用户文本输入自动生成回答的人工智能聊天机器人。那肯定会有人说这不就是Siri嘛,虽然都是交互机器人但是两者的差别可老大了。那么ChatGPT在人机交互时为什么会有这么出色的表现?它到底会不会取代搜索引擎?90%的人真的会因为ChatGPT的出现而面临失业的危险吗?带着这些疑问我们一起来看看ChatGPT到底有哪些过人之处以及未来会给行业带来怎样的变革。 
  • [公告] 【获奖公示】1.11号直播:统计信息大揭秘,SQL执行优化之密钥
    <获奖名单>由于长袖库存不足,统一发放短袖T恤。华为云账号 奖项名称 奖品名称 微信昵称wu_fayi 视频号分享 开发者定制短袖T恤 法医fyydlz 视频号分享 开发者定制短袖T恤 昊天nukinsan 视频号分享 开发者定制短袖T恤 八戒yizhangl 视频号分享 开发者定制短袖T恤 一hid_17qmci0rv17tgso 视频号分享 开发者定制短袖T恤 何以箫笙默hid_y_w9dg_leuhuf8o 视频号分享 开发者定制短袖T恤 小云悠悠zZhwid_gx-hl-3_slyvzcw 视频号分享 开发者定制短袖T恤 一只码农hw048709034 视频号分享 开发者定制短袖T恤  隔壁老帆hw81541353 视频号分享 开发者定制短袖T恤 Fawaris Ihw71255899 视频号分享 开发者定制短袖T恤  炒香菇的书呆子hw015093438 视频号分享 开发者定制短袖T恤 smilehw052387085 视频号分享 开发者定制短袖T恤 ykhid_2acerwtnolxwlsl 视频号分享 开发者定制短袖T恤  a.hw035483438 视频号分享 开发者定制短袖T恤  路人贾富甲一方lokenetwork 视频号分享 开发者定制短袖T恤 罗上文hw45516291 视频号分享 开发者定制短袖T恤 查拉图斯特拉如是说👻hid_a0211e-bd-x__sw 视频号分享 开发者定制短袖T恤  衝鋒壹号hid_sz8l6u32es7gipl 视频号分享 开发者定制短袖T恤 duskxiaohe1217 视频号分享 开发者定制短袖T恤 何必自寻烦恼xj120141121 视频号分享 开发者定制短袖T恤 Nomwingkit_que 视频号分享 开发者定制短袖T恤  wingkitjay131 视频号分享 开发者定制短袖T恤  yayalearner518 视频号分享 开发者定制短袖T恤 王也hw001588733 视频号分享 开发者定制短袖T恤  JayJayyeats_liao 视频号分享 开发者定制短袖T恤 Yeats_Liaolinghz666 视频号分享 开发者定制短袖T恤  黄治国madqfrog 优质问题 开发者定制短袖T恤 Madfroghid_c7l31dwh4g8pwq0 视频号抽奖 华为云宝公仔 14 %hid_fk3k7jlademc0o9 视频号抽奖 华为云宝公仔 陌生人NA 官网抽奖 华为云宝公仔NA 官网抽奖 华为云宝公仔hw79284301 官网抽奖 华为云宝公仔 李厚明NA 官网抽奖 无线鼠标