91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

LSTM隱層神經元結構分析,及應用的程序詳細概述

C語言專家集中營 ? 來源:未知 ? 作者:易水寒 ? 2018-07-29 10:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

C語言LSTM隱層神經元結構:

LSTM隱層神經元詳細結構:

//讓程序自己學會是否需要進位,從而學會加法#include "iostream"#include "math.h"#include "stdlib.h"#include "time.h"#include "vector"#include "assert.h"using namespace std;#define innode 2 //輸入結點數,將輸入2個加數#define hidenode 26 //隱藏結點數,存儲“攜帶位”#define outnode 1 //輸出結點數,將輸出一個預測數字#define alpha 0.1 //學習速率#define binary_dim 8 //二進制數的最大長度#define randval(high) ( (double)rand() / RAND_MAX * high )#define uniform_plus_minus_one ( (double)( 2.0 * rand() ) / ((double)RAND_MAX + 1.0) - 1.0 ) //均勻隨機分布int largest_number = ( pow(2, binary_dim) ); //跟二進制最大長度對應的可以表示的最大十進制數//激活函數double sigmoid(double x) { return 1.0 / (1.0 + exp(-x)); }//激活函數的導數,y為激活函數值double dsigmoid(double y) { return y * (1.0 - y); } //tanh的導數,y為tanh值double dtanh(double y) { y = tanh(y); return 1.0 - y * y; }//將一個10進制整數轉換為2進制數void int2binary(int n, int *arr) { int i = 0; while(n) { arr[i++] = n % 2; n /= 2; } while(i < binary_dim) ? ? ? ?arr[i++] = 0; }class RNN {public: ? ?RNN(); ? ?virtual ~RNN(); ? ?void train();public: ? ?double W_I[innode][hidenode]; ? ? //連接輸入與隱含層單元中輸入門的權值矩陣 ? ?double U_I[hidenode][hidenode]; ? //連接上一隱層輸出與本隱含層單元中輸入門的權值矩陣 ? ?double W_F[innode][hidenode]; ? ? //連接輸入與隱含層單元中遺忘門的權值矩陣 ? ?double U_F[hidenode][hidenode]; ? //連接上一隱含層與本隱含層單元中遺忘門的權值矩陣 ? ?double W_O[innode][hidenode]; ? ? //連接輸入與隱含層單元中遺忘門的權值矩陣 ? ?double U_O[hidenode][hidenode]; ? //連接上一隱含層與現在時刻的隱含層的權值矩陣 ? ?double W_G[innode][hidenode]; ? ? //用于產生新記憶的權值矩陣 ? ?double U_G[hidenode][hidenode]; ? //用于產生新記憶的權值矩陣 ? ?double W_out[hidenode][outnode]; ?//連接隱層與輸出層的權值矩陣 ? ?double *x; ? ? ? ? ? ? //layer 0 輸出值,由輸入向量直接設定 ? ?//double *layer_1; ? ? //layer 1 輸出值 ? ?double *y; ? ? ? ? ? ? //layer 2 輸出值};void winit(double w[], int n) //權值初始化{ ? ?for(int i=0; i I_vector; //輸入門 vector F_vector; //遺忘門 vector O_vector; //輸出門 vector G_vector; //新記憶 vector S_vector; //狀態值 vector h_vector; //輸出值 vector y_delta; //保存誤差關于輸出層的偏導 for(epoch=0; epoch<11000; epoch++) ?//訓練次數 ? ?{ ? ? ? ?double e = 0.0; ?//誤差 ? ? ? ?int predict[binary_dim]; ? ? ? ? ? ? ? //保存每次生成的預測值 ? ? ? ?memset(predict, 0, sizeof(predict)); ? ? ? ?int a_int = (int)randval(largest_number/2.0); ?//隨機生成一個加數 a ? ? ? ?int a[binary_dim]; ? ? ? ?int2binary(a_int, a); ? ? ? ? ? ? ? ? //轉為二進制數 ? ? ? ?int b_int = (int)randval(largest_number/2.0); ?//隨機生成另一個加數 b ? ? ? ?int b[binary_dim]; ? ? ? ?int2binary(b_int, b); ? ? ? ? ? ? ? ? //轉為二進制數 ? ? ? ?int c_int = a_int + b_int; ? ? ? ? ? ?//真實的和 c ? ? ? ?int c[binary_dim]; ? ? ? ?int2binary(c_int, c); ? ? ? ? ? ? ? ? //轉為二進制數 ? ? ? ?//在0時刻是沒有之前的隱含層的,所以初始化一個全為0的 ? ? ? ?double *S = new double[hidenode]; ? ? //狀態值 ? ? ? ?double *h = new double[hidenode]; ? ? //輸出值 ? ? ? ?for(i=0; i=0 ; p--) { x[0] = a[p]; x[1] = b[p]; //當前隱藏層 double *in_gate = I_vector[p]; //輸入門 double *out_gate = O_vector[p]; //輸出門 double *forget_gate = F_vector[p]; //遺忘門 double *g_gate = G_vector[p]; //新記憶 double *state = S_vector[p+1]; //狀態值 double *h = h_vector[p+1]; //隱層輸出值 //前一個隱藏層 double *h_pre = h_vector[p]; double *state_pre = S_vector[p]; for(k=0; k=0; k--) cout << predict[k]; ? ? ? ? ? ?cout << endl; ? ? ? ? ? ?cout << "true:" ; ? ? ? ? ? ?for(k=binary_dim-1; k>=0; k--) cout << c[k]; ? ? ? ? ? ?cout << endl; ? ? ? ? ? ?int out = 0; ? ? ? ? ? ?for(k=binary_dim-1; k>=0; k--) out += predict[k] * pow(2, k); cout << a_int << " + " << b_int << " = " << out << endl << endl; ? ? ? ?} ? ? ? ?for(i=0; i

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    180

    文章

    7632

    瀏覽量

    141707
  • 程序
    +關注

    關注

    117

    文章

    3826

    瀏覽量

    82972
  • 神經元
    +關注

    關注

    1

    文章

    368

    瀏覽量

    18837

原文標題:LSTM神經網絡的詳細推導與c++實現

文章出處:【微信號:C_Expert,微信公眾號:C語言專家集中營】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    神經網絡教程(李亞非)

    神經元  第3章 EBP網絡(反向傳播算法)  3.1 含的前饋網絡的學習規則  3.2 Sigmoid激發函數下的BP算法  3.3 BP網絡的訓練與測試  3.4 BP算法的改進  3.5 多層
    發表于 03-20 11:32

    【案例分享】基于BP算法的前饋神經網絡

    期望的輸出。BP神經網絡算法推導(更新權重和偏倚):從上面推導可以發現:對于任意從神經元i(輸出神經元/
    發表于 07-21 04:00

    【案例分享】ART神經網絡與SOM神經網絡

    的拓撲結構,即將高位空間中相似的樣本點映射到網絡輸出中的鄰近神經元。SOM神經網絡中的輸出神經元
    發表于 07-21 04:30

    模糊控制與神經網絡的資料總結

    如圖所示拓撲結構的單前饋網絡,一般稱為三前饋網或三感知器,即:輸入、中間層(也稱
    發表于 03-01 10:09 ?17次下載
    模糊控制與<b class='flag-5'>神經</b>網絡的資料總結

    神經元 C 參考指南

    神經元 C 參考指南
    發表于 07-04 20:48 ?0次下載
    <b class='flag-5'>神經元</b> C 參考指南

    神經元的信息傳遞方式是什么

    神經元神經系統的基本單位,它們通過電信號和化學信號的方式進行信息傳遞。 神經元的信息傳遞方式 神經元結構和功能
    的頭像 發表于 07-03 11:27 ?2705次閱讀

    神經元的基本作用是什么信息

    神經元神經系統的基本功能單位,它們在大腦、脊髓和周圍神經系統中發揮著至關重要的作用。神經元的基本作用是接收、處理和傳遞信息。本文將詳細介紹
    的頭像 發表于 07-03 11:29 ?1979次閱讀

    神經元結構及功能是什么

    神經元神經系統的基本結構和功能單位,它們通過電信號和化學信號進行信息傳遞和處理。神經元結構和功能非常復雜,涉及到許多不同的方面。 一、
    的頭像 發表于 07-03 11:33 ?2799次閱讀

    神經元的分類包括哪些

    )是神經系統的基本功能單位,是一種高度分化的細胞,具有接收、傳遞和處理信息的能力。神經元通過電信號和化學信號進行信息傳遞和處理,是神經系統中最重要的細胞類型。 1.2 神經元
    的頭像 發表于 07-03 11:36 ?2847次閱讀

    神經網絡三結構的作用是什么

    網絡的三結構是最基本的神經網絡結構,包括輸入、隱藏和輸出。下面介紹
    的頭像 發表于 07-11 11:03 ?2004次閱讀

    人工智能神經元的基本結構

    ,旨在創建能夠執行通常需要人類智能的任務的計算機系統。神經元是構成人腦的基本單元,也是人工智能研究的基礎。本文將詳細介紹人工智能神經元的基本結構
    的頭像 發表于 07-11 11:19 ?2358次閱讀

    生物神經元模型包含哪些元素

    生物神經元模型是神經科學和人工智能領域中的一個重要研究方向,它旨在模擬生物神經元的工作原理,以實現對生物神經系統的理解和模擬。 神經元的基本
    的頭像 發表于 07-11 11:21 ?1779次閱讀

    人工神經元模型的基本構成要素

    ,它能夠接收、處理和傳遞信息。在人工神經元模型中,神經元的基本結構包括輸入、輸出和激活函數。 1.1 輸入 神經元的輸入是一組數值,通常用向量表示。這些數值可以是特征值、像素值等,它們
    的頭像 發表于 07-11 11:28 ?2120次閱讀

    神經元是什么?神經元神經系統中的作用

    神經元,又稱神經細胞,是神經系統的基本結構和功能單位。它們負責接收、整合、傳導和傳遞信息,從而參與和調控神經系統的各種活動。
    的頭像 發表于 07-12 11:49 ?3842次閱讀
    <b class='flag-5'>神經元</b>是什么?<b class='flag-5'>神經元</b>在<b class='flag-5'>神經</b>系統中的作用

    LSTM神經網絡的結構與工作機制

    網絡的結構與工作機制的介紹: 一、LSTM神經網絡的結構 LSTM神經網絡的
    的頭像 發表于 11-13 10:05 ?1631次閱讀
    主站蜘蛛池模板: 免费亚洲成人 | 欧美成人h精品网站 | а中文在线天堂 | 日韩久久精品视频 | 美女被免费网站视频九色 | 午夜爽爽性刺激一区二区视频 | 四虎影院永久免费 | 特级aaaaaaaaa毛片免费视频 | 狠狠亚洲狠狠欧洲2019 | 色综合久久九月婷婷色综合 | free性欧美高清另类 | 日本在线色视频 | 日本免费不卡视频一区二区三区 | 色丁香婷婷 | ww欧洲ww在线视频看ww | 午夜高清在线 | 手机在线看片福利盒子 | 在线另类 | 黄色aaaa| 欧美另类自拍 | 午夜免费伦费影视在线观看 | 欧美一级高清免费播放 | 久久久久久久综合色一本 | 年轻的护士3 | 99久久精品国产免费 | 国产伦精品一区二区免费 | 日本三级黄色 | 大量真实偷拍情侣视频野战 | 欧美成人精品福利网站 | 欧美性第一页 | 视频在线观看网站免费 | 新版天堂中文网 | 亚洲色图片区 | 日本不卡一区在线 | 中文字幕亚洲一区二区va在线 | 国内亚州视频在线观看 | 天天寡妇色| 天天添 | 精品美女在线 | 一级片视频播放 | 爱爱免费网址 |