日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > ChatGpt >内容正文

ChatGpt

【机器学习基础】一文归纳AI数据增强之法

發布時間:2025/3/12 ChatGpt 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【机器学习基础】一文归纳AI数据增强之法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據、算法、算力是人工智能發展的三要素。數據決定了Ai模型學習的上限,數據規模越大、質量越高,模型就能夠擁有更好的泛化能力。然而在實際工程中,經常有數據量太少(相對模型而言)、樣本不均衡、很難覆蓋全部的場景等問題,解決這類問題的一個有效途徑是通過數據增強(Data Augmentation),使模型學習獲得較好的泛化性能。

1 數據增強介紹

數據增強(Data Augmentation)是在不實質性的增加數據的情況下,從原始數據加工出更多的表示,提高原數據的數量及質量,以接近于更多數據量產生的價值。其原理是,通過對原始數據融入先驗知識,加工出更多數據的表示,有助于模型判別數據中統計噪聲,加強本體特征的學習,減少模型過擬合,提升泛化能力。

如經典的機器學習例子--哈士奇誤分類為狼:通過可解釋性方法,可發現錯誤分類是由于圖像上的雪造成的。通常狗對比狼的圖像里面雪地背景比較少,分類器學會使用雪作為一個特征來將圖像分類為狼還是狗,而忽略了動物本體的特征。此時,可以通過數據增強的方法,增加變換后的數據(如背景換色、加入噪聲等方式)來訓練模型,幫助模型學習到本體的特征,提高泛化能力。需要關注的是,數據增強樣本也有可能是引入片面噪聲,導致過擬合。此時需要考慮的是調整數據增強方法,或者通過算法(可借鑒Pu-Learning思路)選擇增強數據的最佳子集,以提高模型的泛化能力。

常用數據增強方法可分為:基于樣本變換的數據增強及基于深度學習的數據增強。

2 ?基于樣本變換的數據增強

樣本變換數據增強即采用預設的數據變換規則進行已有數據的擴增,包含單樣本數據增強和多樣本數據增強。

2.1 單樣本增強

單(圖像)樣本增強主要有幾何操作、顏色變換、隨機擦除、添加噪聲等方法,可參見imgaug開源庫。

2.2 多樣本數據增強方法

多樣本增強是通過先驗知識組合及轉換多個樣本,主要有Smote、SamplePairing、Mixup等方法在特征空間內構造已知樣本的鄰域值。

  • Smote

Smote(Synthetic Minority Over-sampling Technique)方法較常用于樣本均衡學習,核心思想是從訓練集隨機同類的兩近鄰樣本合成一個新的樣本,其方法可以分為三步:

1、 對于各樣本X_i,計算與同類樣本的歐式距離,確定其同類的K個(如圖3個)近鄰樣本;

2、從該樣本k近鄰中隨機選擇一個樣本如近鄰X_ik,生成新的樣本:

Xsmote_ik?=??Xi??+??rand(0,1)???∣X_i???X_ik∣

3、重復2步驟迭代N次,可以合成N個新的樣本。

#?SMOTE from?imblearn.over_sampling?import?SMOTEprint("Before?OverSampling,?counts?of?label\n{}".format(y_train.value_counts())) smote?=?SMOTE() x_train_res,?y_train_res?=?smote.fit_resample(x_train,?y_train) print("After?OverSampling,?counts?of?label\n{}".format(y_train_res.value_counts()))
  • SamplePairing

SamplePairing算法的核心思想是從訓練集隨機抽取的兩幅圖像疊加合成一個新的樣本(像素取平均值),使用第一幅圖像的label作為合成圖像的正確label。

  • Mixup

Mixup算法的核心思想是按一定的比例隨機混合兩個訓練樣本及其標簽,這種混合方式不僅能夠增加樣本的多樣性,且能夠使決策邊界更加平滑,增強了難例樣本的識別,模型的魯棒性得到提升。其方法可以分為兩步:

1、從原始訓練數據中隨機選取的兩個樣本(xi, yi) and (xj, yj)。其中y(原始label)用one-hot 編碼。

2、對兩個樣本按比例組合,形成新的樣本和帶權重的標簽

x??=?λxi?+?(1???λ)xj y??=?λyi?+?(1???λ)yj

最終的loss為各標簽上分別計算cross-entropy loss,加權求和。其中 λ ∈ [0, 1], λ是mixup的超參數,控制兩個樣本插值的強度。

#?Mixup def?mixup_batch(x,?y,?step,?batch_size,?alpha=0.2):"""get?batch?data:param?x:?training?data:param?y:?one-hot?label:param?step:?step:param?batch_size:?batch?size:param?alpha:?hyper-parameter?α,?default?as?0.2:return:??x?y?"""candidates_data,?candidates_label?=?x,?yoffset?=?(step?*?batch_size)?%?(candidates_data.shape[0]?-?batch_size)#?get?batch?datatrain_features_batch?=?candidates_data[offset:(offset?+?batch_size)]train_labels_batch?=?candidates_label[offset:(offset?+?batch_size)]if?alpha?==?0:return?train_features_batch,?train_labels_batchif?alpha?>?0:weight?=?np.random.beta(alpha,?alpha,?batch_size)x_weight?=?weight.reshape(batch_size,?1)y_weight?=?weight.reshape(batch_size,?1)index?=?np.random.permutation(batch_size)x1,?x2?=?train_features_batch,?train_features_batch[index]x?=?x1?*?x_weight?+?x2?*?(1?-?x_weight)y1,?y2?=?train_labels_batch,?train_labels_batch[index]y?=?y1?*?y_weight?+?y2?*?(1?-?y_weight)return?x,?y

3 ?基于深度學習的數據增強

3.1 特征空間的數據增強

不同于傳統在輸入空間變換的數據增強方法,神經網絡可將輸入樣本映射為網絡層的低維向量(表征學習),從而直接在學習的特征空間進行組合變換等進行數據增強,如MoEx方法等。

3.2 基于生成模型的數據增強

生成模型如變分自編碼網絡(Variational Auto-Encoding network, VAE)和生成對抗網絡(Generative Adversarial Network, GAN),其生成樣本的方法也可以用于數據增強。這種基于網絡合成的方法相比于傳統的數據增強技術雖然過程更加復雜, 但是生成的樣本更加多樣。

  • 變分自編碼器VAE

    變分自編碼器(Variational Autoencoder,VAE)其基本思路是:將真實樣本通過編碼器網絡變換成一個理想的數據分布,然后把數據分布再傳遞給解碼器網絡,構造出生成樣本,模型訓練學習的過程是使生成樣本與真實樣本足夠接近。

#?VAE模型 class?VAE(keras.Model):...def?train_step(self,?data):with?tf.GradientTape()?as?tape:z_mean,?z_log_var,?z?=?self.encoder(data)reconstruction?=?self.decoder(z)reconstruction_loss?=?tf.reduce_mean(tf.reduce_sum(keras.losses.binary_crossentropy(data,?reconstruction),?axis=(1,?2)))kl_loss?=?-0.5?*?(1?+?z_log_var?-?tf.square(z_mean)?-?tf.exp(z_log_var))kl_loss?=?tf.reduce_mean(tf.reduce_sum(kl_loss,?axis=1))total_loss?=?reconstruction_loss?+?kl_lossgrads?=?tape.gradient(total_loss,?self.trainable_weights)self.optimizer.apply_gradients(zip(grads,?self.trainable_weights))self.total_loss_tracker.update_state(total_loss)self.reconstruction_loss_tracker.update_state(reconstruction_loss)self.kl_loss_tracker.update_state(kl_loss)return?{"loss":?self.total_loss_tracker.result(),"reconstruction_loss":?self.reconstruction_loss_tracker.result(),"kl_loss":?self.kl_loss_tracker.result(),}
  • 生成對抗網絡GAN

    生成對抗網絡-GAN(Generative Adversarial Network) 由生成網絡(Generator,?G)和判別網絡(Discriminator,?D)兩部分組成, 生成網絡構成一個映射函數G:?Z→X(輸入噪聲z, 輸出生成的圖像數據x), 判別網絡判別輸入是來自真實數據還是生成網絡生成的數據。

#?DCGAN模型class?GAN(keras.Model):...def?train_step(self,?real_images):batch_size?=?tf.shape(real_images)[0]random_latent_vectors?=?tf.random.normal(shape=(batch_size,?self.latent_dim))#?G:?Z→X(輸入噪聲z,?輸出生成的圖像數據x)generated_images?=?self.generator(random_latent_vectors)#?合并生成及真實的樣本并賦判定的標簽combined_images?=?tf.concat([generated_images,?real_images],?axis=0)labels?=?tf.concat([tf.ones((batch_size,?1)),?tf.zeros((batch_size,?1))],?axis=0)#?標簽加入隨機噪聲labels?+=?0.05?*?tf.random.uniform(tf.shape(labels))#?訓練判定網絡with?tf.GradientTape()?as?tape:predictions?=?self.discriminator(combined_images)d_loss?=?self.loss_fn(labels,?predictions)grads?=?tape.gradient(d_loss,?self.discriminator.trainable_weights)self.d_optimizer.apply_gradients(zip(grads,?self.discriminator.trainable_weights))random_latent_vectors?=?tf.random.normal(shape=(batch_size,?self.latent_dim))#?賦生成網絡樣本的標簽(都賦為真實樣本)misleading_labels?=?tf.zeros((batch_size,?1))#?訓練生成網絡with?tf.GradientTape()?as?tape:predictions?=?self.discriminator(self.generator(random_latent_vectors))g_loss?=?self.loss_fn(misleading_labels,?predictions)grads?=?tape.gradient(g_loss,?self.generator.trainable_weights)self.g_optimizer.apply_gradients(zip(grads,?self.generator.trainable_weights))#?更新損失self.d_loss_metric.update_state(d_loss)self.g_loss_metric.update_state(g_loss)return?{"d_loss":?self.d_loss_metric.result(),"g_loss":?self.g_loss_metric.result(),}

3.3 基于神經風格遷移的數據增強

神經風格遷移(Neural Style Transfer)可以在保留原始內容的同時,將一個圖像的樣式轉移到另一個圖像上。除了實現類似色彩空間照明轉換,還可以生成不同的紋理和藝術風格。

神經風格遷移是通過優化三類的損失來實現的:

style_loss:使生成的圖像接近樣式參考圖像的局部紋理;

content_loss:使生成的圖像的內容表示接近于基本圖像的表示;

total_variation_loss:是一個正則化損失,它使生成的圖像保持局部一致。

#?樣式損失 def?style_loss(style,?combination):S?=?gram_matrix(style)C?=?gram_matrix(combination)channels?=?3size?=?img_nrows?*?img_ncolsreturn?tf.reduce_sum(tf.square(S?-?C))?/?(4.0?*?(channels?**?2)?*?(size?**?2))#?內容損失 def?content_loss(base,?combination):return?tf.reduce_sum(tf.square(combination?-?base))#?正則損失 def?total_variation_loss(x):a?=?tf.square(x[:,?:?img_nrows?-?1,?:?img_ncols?-?1,?:]?-?x[:,?1:,?:?img_ncols?-?1,?:])b?=?tf.square(x[:,?:?img_nrows?-?1,?:?img_ncols?-?1,?:]?-?x[:,?:?img_nrows?-?1,?1:,?:])return?tf.reduce_sum(tf.pow(a?+?b,?1.25))

3.4 基于元學習的數據增強

深度學習研究中的元學習(Meta learning)通常是指使用神經網絡優化神經網絡,元學習的數據增強有神經增強(Neural augmentation)等方法。

  • 神經增強

神經增強(Neural augmentation)是通過神經網絡組的學習以獲得較優的數據增強并改善分類效果的一種方法。其方法步驟如下:

1、獲取與target圖像同一類別的一對隨機圖像,前置的增強網絡通過CNN將它們映射為合成圖像,合成圖像與target圖像對比計算損失;

2、將合成圖像與target圖像神經風格轉換后輸入到分類網絡中,并輸出該圖像分類損失;

3、將增強與分類的loss加權平均后,反向傳播以更新分類網絡及增強網絡權重。使得其輸出圖像的同類內差距減小且分類準確。


閱讀原文可訪問GitHub源碼

往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯 本站qq群851320808,加入微信群請掃碼:

總結

以上是生活随笔為你收集整理的【机器学习基础】一文归纳AI数据增强之法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: www国产亚洲精品 | 黄色小说在线观看视频 | 粉嫩精品久久99综合一区 | 激情啪啪网| 国产成人无码性教育视频 | 国产精品正在播放 | 国产一级免费av | 性色av网站 | 免费插插视频 | 欧美午夜精品久久久久免费视 | 国产精品一区二区三区高潮 | exo妈妈mv在线播放免费 | 国产又粗又长又黄的视频 | 国产99久久久久久免费看 | 性综合网 | 亚洲精品国产乱伦 | 欧美性潮喷xxxxx免费视频看 | www.毛片.com | 欧美无遮挡| 国产成人精品视频在线观看 | 欧美 亚洲 一区 | 蜜桃一区二区 | 国产一区二区三区网站 | 国产精品永久免费观看 | 在线播放日韩av | 日本三级视频网站 | 水果派解说av | 亚洲29p| 99久久国产热无码精品免费 | 好屌妞视频这里有精品 | 男女插插网站 | 一区二区三区蜜桃 | 亚洲成人中文字幕 | 99在线无码精品入口 | 国内偷拍一区 | 国产精品6 | 日韩高清一二三区 | 亚洲免费在线视频 | 中文av一区二区三区 | 91青草视频| 国产99对白在线播放 | 亚洲国产成人一区 | 色婷婷一区二区三区 | 少妇搡bbbb搡bbb搡打电话 | 人人人插 | 久久久久久国 | 亚洲精品视频在线播放 | 黄片毛片在线 | 亚洲天堂网一区 | 五月天婷婷综合 | 男朋友是消防员第一季 | av成人资源 | 国产 中文 字幕 日韩 在线 | 色女人av| 91一区| 国产亚洲黄色片 | 男操女视频在线观看 | 关之琳三级做爰 | 久久影院视频 | 日本午夜视频 | 极品尤物一区二区 | xxxx国产精品| 精东影业一区二区三区 | 日韩精品视频在线播放 | 91老师片黄在线观看 | 久精品视频 | 久操视频免费在线观看 | 丰满双乳秘书被老板狂揉捏 | 最新最近中文字幕 | 国产一级片av | 日韩毛片一区二区三区 | 伊人爱爱网 | 久久久久亚洲日日精品 | 国产精品二区在线 | 久热这里只有精品6 | 亚洲伦理视频 | 亚洲精品乱码久久久久久9色 | 超碰在线a| 综合色婷婷一区二区亚洲欧美国产 | www.久久久久久久久 | 菠萝菠萝蜜网站 | 日本少妇中文字幕 | 国产尤物 | 一区在线观看视频 | 国产成人av电影 | 久久精品亚洲 | ass亚洲尤物裸体pics | 秋霞欧美一区二区三区视频免费 | 奶妈的诱惑 | 国产精品青青草 | 一级毛毛片 | 亚洲a在线观看 | 2019国产精品 | 奶水喷溅 在线播放 | 亚洲美女一区二区三区 | 欧美国产三级 | 九九精品视频免费 | 人妻精品久久久久中文字幕69 | 国产69精品久久 |