精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何在瀏覽器使用synaptic.js訓練簡單的神經(jīng)網(wǎng)絡推薦系統(tǒng)

開發(fā) 開發(fā)工具
本文利用 synaptic 庫構(gòu)建簡單的神經(jīng)網(wǎng)絡,并在瀏覽器中實現(xiàn)訓練過程。該神經(jīng)網(wǎng)絡可以和其他框架共同打造一款簡單的推薦系統(tǒng)應用。

本文利用 synaptic 庫構(gòu)建簡單的神經(jīng)網(wǎng)絡,并在瀏覽器中實現(xiàn)訓練過程。該神經(jīng)網(wǎng)絡可以和其他框架共同打造一款簡單的推薦系統(tǒng)應用。這種在瀏覽器上訓練的神經(jīng)網(wǎng)絡因為將計算任務分配到各個終端設備,所以服務器的壓力大大降低。此外,在終端上訓練的神經(jīng)網(wǎng)絡也大大保護了用戶的隱私。機器之心對本文做了簡要介紹,全部代碼請查看 Github 項目地址。

項目地址:https://github.com/markselby9/ml-in-browser

用 JS 進行機器學習?為什么不呢!

用 JS 進行機器學習?為什么不呢!

一、項目概覽

我們將構(gòu)建一個基于人工神經(jīng)網(wǎng)絡的簡單 Web 應用程序推薦系統(tǒng)。該應用程序包含兩頁,***頁顯示書籍,第二頁顯示電影。用戶可以在***頁中選擇他或她感興趣的書籍,當他點擊下一頁按鈕時,我們實際上可以在后臺預測他可能會感興趣的電影。在用戶選擇他喜歡的電影之后,我們會給用戶顯示他所選擇的結(jié)果,以及我們對他的選擇的預測。一些顯示截屏如下所示:

在***頁中選擇感興趣的書籍

在第二頁中選擇感興趣的電影

將選擇與預測結(jié)果進行比較

這個應用程序使用 Vue.js 和 ElementUI(Vue.js 的 UI 框架)構(gòu)建,并使用 synaptic 庫構(gòu)建神經(jīng)網(wǎng)絡。

有什么優(yōu)點?

該項目的優(yōu)勢可以歸結(jié)如下:

  • 我們將模型訓練工作轉(zhuǎn)移到前端而不是后端,這不僅降低了服務器的壓力,同時還將一些計算任務分配給許多客戶端。由于 npm 社區(qū)提供許多神經(jīng)網(wǎng)絡相關的 Javascript 庫,這種方法是可行的。
  • 我們保護用戶的隱私。用戶的數(shù)據(jù)并沒有實際被上傳到服務器,當服務器更新訓練模型時,他們的數(shù)據(jù)對于服務器是匿名的。

二、神經(jīng)網(wǎng)絡簡要介紹

首先,這里使用的神經(jīng)網(wǎng)絡是最基礎的人工神經(jīng)網(wǎng)絡,我們決定僅使用用戶的選擇作為輸入和輸出集。本節(jié)使用的圖像來自一個介紹神經(jīng)網(wǎng)絡的博客:

https://ujjwalkarn.me/2016/08/09/quick-intro-neural-networks/。

本項目涉及的概念包括:人工神經(jīng)網(wǎng)絡、神經(jīng)元、層次和訓練(反向傳播)。如果你已經(jīng)熟悉這些概念,你可以跳過此部分。人工神經(jīng)網(wǎng)絡(ANN)是一種由人腦啟發(fā)的計算模型。它由神經(jīng)元組成,神經(jīng)元是神經(jīng)網(wǎng)絡的基本單元。神經(jīng)元從其它來源接收輸入,每個輸入分配一個權(quán)重,權(quán)重根據(jù)輸入的重要程度賦予。神經(jīng)元使用激活函數(shù)作用于所有輸入的加權(quán)之和,然后給出輸出。

神經(jīng)網(wǎng)絡

神經(jīng)元

單層神經(jīng)網(wǎng)絡由幾個神經(jīng)元組成,如下圖所示。神經(jīng)網(wǎng)絡可以包含或可以不包含多個隱藏層,每對相鄰層之間具有連接,這種連接通常由前面提到的權(quán)重表示。

簡單全連接神經(jīng)網(wǎng)絡的層級結(jié)構(gòu)

簡單全連接神經(jīng)網(wǎng)絡的層級結(jié)構(gòu)

但是如何通過正確衡量這些權(quán)重來架構(gòu)神經(jīng)網(wǎng)絡呢?這些權(quán)重需要訓練,來達到使神經(jīng)網(wǎng)絡正常工作的要求。假設我們有一個數(shù)據(jù)表,其中包含 1000 對輸入和相應的輸出。我們首先產(chǎn)生 0 和 1 之間的隨機數(shù)給出所有權(quán)重,然后遍歷所有數(shù)據(jù)對。在每對輸入和輸出中,我們使用神經(jīng)網(wǎng)絡的激活函數(shù)給出計算結(jié)果,并將其與實際輸出進行比較。然后我們使用反向傳播算法重新訓練網(wǎng)絡并調(diào)整權(quán)重。更新反向傳播的權(quán)重可以通過隨機梯度下降來完成,這是一種獲得***權(quán)重值的方法。

這里只是簡要介紹神經(jīng)網(wǎng)絡的原理。更詳細的內(nèi)容,請參考以下鏈接:

  • https://ujjwalkarn.me/2016/08/09/quick-intro-neural-networks/
  • https://en.wikipedia.org/wiki/Artificial_neural_network
  • https://github.com/cazala/synaptic/wiki/Neural-Networks-101

神經(jīng)網(wǎng)絡在瀏覽器中的實現(xiàn)

最近有一些在瀏覽器中實現(xiàn)神經(jīng)網(wǎng)絡的相關研究,如:

  • Deeplearnjs:https://github.com/PAIR-code/deeplearnjs
  • ConvnetJS:http://cs.stanford.edu/people/karpathy/convnetjs/
  • synaptic.js:http://caza.la/synaptic/

我們在這里使用 synaptic.js,因為不管對于 node.js 還是瀏覽器,它都是一個無架構(gòu)的神經(jīng)網(wǎng)絡庫。我們可以通過 github 庫中的 wiki 來檢查文檔:

https://github.com/cazala/synaptic/wiki/Architect。我們計劃在瀏覽器中實現(xiàn)所有的神經(jīng)網(wǎng)絡訓練和部分激活函數(shù),服務器(使用簡單的 node.js 和 express 搭建服務器框架)只保留包含網(wǎng)絡參數(shù)的 JSON 文件。synaptic.js 有一個方便的 API 來將神經(jīng)網(wǎng)絡解析成 JSON,并將 JSON 解析為神經(jīng)網(wǎng)絡實例。

應用程序由 Vue.js 和 ElementUI 構(gòu)建。在創(chuàng)建主應用程序組件的生命周期中,應用程序從服務器獲取模型的 JSON 文件,并基于 JSON 文件構(gòu)建神經(jīng)網(wǎng)絡實例。然后該模型展示 20 張含有電影信息的卡片,讓用戶選擇他/她感興趣的項目,用戶完成選擇并單擊下一步后,網(wǎng)絡實例將調(diào)用激活函數(shù),并給出該用戶可能想要的書籍的預測值(基于 20 種書籍選項)。同時,應用程序還展示另外 20 張包含書籍信息的卡片,讓用戶選擇。用戶點擊提交按鈕后,應用程序會將預測的書籍列表和實際的書籍列表呈現(xiàn)給用戶,并在后臺使用新的訓練數(shù)據(jù)來反向傳播并重新訓練模型。再次訓練后,新的神經(jīng)網(wǎng)絡將被解析為 JSON 對象并發(fā)送回服務器。

下面是代碼。服務器利用簡單的 node.js 中的 I/O API 和 Express 構(gòu)建。

  1. app.post('/getNetwork', (req, res) => { 
  2.     if (req.body) { 
  3.         console.log(req.body); 
  4.         readJSONFromFile((network) => { // read local JSON file 
  5.             res.send({ 
  6.                 code: 200, 
  7.                 network, 
  8.             }); 
  9.         }, (err) => { 
  10.             console.log(err.toString()); 
  11.         }); 
  12.     } 
  13. }); 
  14.  
  15. app.post('/setNetwork', (req, res) => { 
  16.     if (req.body && req.body.networkJSON) { 
  17.         console.log(req.body); 
  18.         const { networkJSON } = req.body; 
  19.         saveJSONToFile(networkJSON, (err) => { // write to local JSON file 
  20.             if (err) { 
  21.                 res.send({ 
  22.                     code: 500, 
  23.                     err 
  24.                 }); 
  25.             } else { 
  26.                 res.send({ 
  27.                     code: 200, 
  28.                 }); 
  29.             } 
  30.         }); 
  31.     } else { 
  32.         res.send({ 
  33.             code: 406, 
  34.         }) 
  35.     } 
  36. }); 
  37. app.listen(3000, () => { 
  38.     console.log('server started'); 
  39. }); 

以及在客戶端。在本文中我們不會介紹 DOM 的細節(jié),我們將僅關注組件 app.vue 下的腳本部分。

  1. created() { 
  2.             // fetch the train model from server 
  3.             thisthis.content_data = this.shuffle(book_data); 
  4.             this.loading = true
  5.             axios.post('http://localhost:3000/getNetwork') 
  6.                 .then((response) => { 
  7.                     console.log(response); 
  8.                     this.loading = false
  9.                     const networkJSON = response.data.network; 
  10.                     if (networkJSON && Object.keys(networkJSON).length > 0) { 
  11.                         this.$message('Received neural network from server.'); 
  12.                         localNetworkInstance = Network.fromJSON(networkJSON); 
  13.                     } else { 
  14.                         this.$message('Created a new network instance.'); 
  15.                         // create a new network instance 
  16.                         const inputLayer = new Layer(20); 
  17.                         const hiddenLayer = new Layer(20); 
  18.                         const outputLayer = new Layer(20); 
  19.  
  20.                         inputLayer.project(hiddenLayer); 
  21.                         hiddenLayer.project(outputLayer); 
  22.  
  23.                         localNetworkInstance = new Network({ 
  24.                             input: inputLayer, 
  25.                             hidden: [hiddenLayer], 
  26.                             output: outputLayer 
  27.                         }); 
  28.                     } 
  29.                 }) 
  30.                 .catch(function (error) { 
  31.                     this.loading = false
  32.                     console.log(error); 
  33.                 }); 
  34.         }, 

以上是我們在應用程序中創(chuàng)建的生命周期(lifecycle)。它嘗試從「getNetwork」API 獲取 JSON 對象:如果它是網(wǎng)絡的可用 JSON 設置,則它將通過 synaptic 的 fromJSON 方法創(chuàng)建本地網(wǎng)絡實例;否則,它將創(chuàng)建一個新的網(wǎng)絡實例并保存到「localNetworkInstance」變量中。

當用戶在***頁單擊「下一頁」按鈕后,我們在「onClick」功能中調(diào)用激活函數(shù),并將其作為預測結(jié)果保存在 Vue 組件的數(shù)據(jù)中。然后在用戶選擇他/她感興趣的電影之后,調(diào)用重新訓練函數(shù)。

  1. reTrainByThisUserData() { 
  2.     // retrain the model by this user's data 
  3.     if (localNetworkInstance) { 
  4.         localNetworkInstance.propagate(learningRate, this.trainingSet.output);   // propagate the network 
  5.  
  6.         this.$message('Neural Network retrained!'); 
  7.  
  8.         const successFunc = () => { 
  9.             console.log('success'); 
  10.             this.$message('Successfully sent the new Neural Network!'); 
  11.         }; 
  12.         const errorFunc = (error) => { 
  13.             console.log('error', error); 
  14.             this.$message(error); 
  15.         }; 
  16.  
  17.         this.loading = true
  18.         axios.post('http://localhost:3000/setNetwork', { 
  19.             networkJSON: localNetworkInstance.toJSON() 
  20.         }) 
  21.             .then((response) => { 
  22.                 this.loading = false
  23.                 if (response.data && response.data.code === 200) { 
  24.                     successFunc(); 
  25.                 } else { 
  26.                     errorFunc(response.data); 
  27.                 } 
  28.             }) 
  29.             .catch(function (error) { 
  30.                 errorFunc(error) 
  31.             }); 
  32.     } else { 
  33.         this.loading = false
  34.         console.log('network is undefined!'); 
  35.     } 

重新訓練過程是一個反向傳播過程,利用當前用戶的選擇作為輸入和輸出數(shù)據(jù)對。用戶對電影的選擇將成為反向傳播的數(shù)據(jù)。在反向傳播后,神經(jīng)網(wǎng)絡的權(quán)重將被調(diào)整,神經(jīng)網(wǎng)絡的新數(shù)據(jù)將被上傳到服務器并被保存。理想情況下,新網(wǎng)絡應該更強大:)

進一步探索

正如很多讀者可能已經(jīng)意識到的那樣,我們可以利用這個方法做比簡單推薦系統(tǒng)更多的事情。改進此項目的一些可能方法包括:

  • 更多關于瀏覽器的信息可以當作輸入,例如用戶在每張卡上花費的時間、用戶的點擊事件和滾動事件等。這些信息可以從前端得到。
  • 神經(jīng)網(wǎng)絡可以具有更復雜的架構(gòu),但注意不能過擬合。
  • 前端項目應該考慮大小。目前,構(gòu)建的文件大小約為 1Mb,這在 PC 上是可以接受的,但對于移動端網(wǎng)站來說可能太大了。如果要在移動設備上使用該項目,應采取優(yōu)化措施。

有關此項目的完整代碼,請查閱參考:

https://github.com/markselby9/ml-in-browser/tree/feature/Recommendation_system_in_browser_demo。

原文:https://medium.com/@markselby9/neural-network-in-your-browser-3e6fc91709ca

【本文是51CTO專欄機構(gòu)“機器之心”的原創(chuàng)譯文,微信公眾號“機器之心( id: almosthuman2014)”】

 

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2017-09-18 08:08:33

JavaScript神經(jīng)網(wǎng)絡代碼

2017-08-29 09:40:26

JavaScript代碼神經(jīng)網(wǎng)絡

2017-03-27 16:18:30

神經(jīng)網(wǎng)絡TensorFlow人工智能

2017-08-29 13:50:03

TensorFlow深度學習神經(jīng)網(wǎng)絡

2017-09-28 16:15:12

神經(jīng)網(wǎng)絡訓練多層

2023-05-12 14:58:50

Java神經(jīng)網(wǎng)絡深度學習

2017-08-28 21:31:37

TensorFlow深度學習神經(jīng)網(wǎng)絡

2020-09-09 07:00:00

TensorFlow神經(jīng)網(wǎng)絡人工智能

2017-12-22 08:47:41

神經(jīng)網(wǎng)絡AND運算

2021-01-18 14:38:53

神經(jīng)網(wǎng)絡人工智能神經(jīng)元

2020-08-06 10:11:13

神經(jīng)網(wǎng)絡機器學習算法

2018-12-14 08:02:55

神經(jīng)網(wǎng)絡機器學習二值模型

2012-05-30 16:32:34

谷歌瀏覽器IE

2018-05-22 15:00:52

谷歌Chrome瀏覽器

2021-12-28 08:48:54

PyTorch神經(jīng)網(wǎng)絡人工智能

2018-07-03 16:10:04

神經(jīng)網(wǎng)絡生物神經(jīng)網(wǎng)絡人工神經(jīng)網(wǎng)絡

2015-08-03 17:06:49

IEEdge瀏覽器

2021-08-25 13:13:58

神經(jīng)網(wǎng)絡AI算法

2017-07-19 11:39:25

深度學習人工智能boosting

2017-07-31 10:24:15

神經(jīng)網(wǎng)絡音樂
點贊
收藏

51CTO技術棧公眾號

亚洲欧美日韩久久| 爱情岛论坛亚洲品质自拍视频网站 | 女人高潮被爽到呻吟在线观看| 国产成人精品一区二区三区网站观看| 精品国产一区二区三区在线观看| 91女神在线观看| 99在线小视频| 欧美日韩四区| 在线精品视频一区二区三四| 日韩三级电影| 国产精品嫩草影院精东| 欧美片第1页综合| 亚洲激情视频网站| 国产aaaaa毛片| 亚洲淫性视频| 99久久精品免费观看| 日韩免费在线播放| 欧美污在线观看| 亚洲国产精品视频在线| re久久精品视频| 欧美男同性恋视频网站| av在线不卡一区| 国产亚洲精品精品精品| 日韩欧美中文在线观看| 国产精品网站导航| 97视频资源在线观看| 国产成人亚洲欧洲在线| 国产私拍福利精品视频二区| 亚洲人成网站在线| 欧美精品一区二区视频| 99草在线视频| 日韩精品午夜视频| 亚洲老板91色精品久久| 爱情岛论坛亚洲自拍| free欧美| 亚洲成人www| 欧美在线一二三区| 国产精品18p| 日韩高清欧美| 精品久久久久久久久久久院品网| 蜜桃免费在线视频| 深夜福利在线观看直播| 亚洲日本国产| 精品国产乱码久久久久久闺蜜| 久久久国产欧美| 成人免费短视频| 亚洲图片你懂的| 青青成人在线| 日韩av视屏| 国产老肥熟一区二区三区| 国产精品美女主播在线观看纯欲| 超薄肉色丝袜一二三| 91精品短视频| 4hu四虎永久在线影院成人| 黑鬼大战白妞高潮喷白浆| sis001亚洲原创区| 亚洲激情av在线| 日本一区二区免费高清视频| av黄色在线播放| 亚洲精品欧美| 久久久久亚洲精品成人网小说| 国产极品美女在线| 欧美3p在线观看| 亚洲最新av网址| 人妻av无码一区二区三区| 国产精品x8x8一区二区| 欧美大肚乱孕交hd孕妇| 超级砰砰砰97免费观看最新一期| 亚洲ww精品| 色94色欧美sute亚洲线路一ni| 日本电影一区二区三区| 手机av在线免费观看| 国产白丝网站精品污在线入口| 久久久久久久久国产精品| 东方av正在进入| 亚洲欧美综合| 亚洲成色777777女色窝| 女性生殖扒开酷刑vk| 国产一区二区av在线| 69堂成人精品免费视频| 午夜影院免费版| 久久久久久亚洲精品美女| 亚洲男人的天堂av| 久久精品五月婷婷| 色综合久久网女同蕾丝边| 91视频在线看| 欧美性xxxx69| av在线电影观看| www久久精品| 日韩av一级大片| 调教视频免费在线观看| 亚洲美女视频在线| www国产无套内射com| xxxx视频在线| 色偷偷88欧美精品久久久| 中国丰满人妻videoshd| 日韩另类视频| 91麻豆精品国产91久久久资源速度 | 亚洲熟妇一区二区| 电影k8一区二区三区久久| 亚洲国产一区二区三区青草影视| 国产精品www在线观看| 偷拍自拍在线看| 欧美唯美清纯偷拍| 在线成人精品视频| 私拍精品福利视频在线一区| 国产亚洲一区精品| 午夜精品福利在线视频| 国产精品久久国产愉拍| www.日韩av.com| 久久久无码一区二区三区| 国产麻豆综合| 欧洲精品久久久| 91女人18毛片水多国产| 成人妖精视频yjsp地址| 日本一区二区在线| 国产素人视频在线观看| 欧美性猛xxx| 日本一本中文字幕| av有声小说一区二区三区| 777xxx欧美| 中文字幕xxx| 欧美成人一品| 91精品国产乱码久久久久久久久| 好吊色在线视频| 久久se精品一区精品二区| 国产伦精品一区二区三区视频免费| 午夜激情小视频| 亚洲欧美韩国综合色| 久热免费在线观看| 成人av综合网| 久久最新资源网| 欧美亚洲国产视频小说| 一个人看的视频www| 麻豆一区二区麻豆免费观看| 色先锋资源久久综合5566| 国产一级在线视频| 久草中文综合在线| 欧美中日韩免费视频| 91色在线看| 精品国产sm最大网站免费看| 久久成人在线观看| 国产成人精品一区二区三区网站观看| 免费观看黄色大片| 亚洲男男av| 日韩小视频在线| 亚洲视频一区二区三区四区| 亚洲国产经典视频| 亚洲污视频在线观看| 成人动漫免费在线观看| 国产精品久久久久久一区二区| 狠狠色伊人亚洲综合网站l| 色又黄又爽网站www久久| 中文字幕18页| 国产欧美精品| 精品免费视频123区| 人在线成免费视频| 日韩精品免费电影| 五月天色一区| 国产写真视频在线观看| 日韩欧美一区二区不卡| 国产大片中文字幕| 91麻豆免费看| 欧美一级裸体视频| 在线观看国产网站| 91久久视频| 久久久久资源| 激情开心成人网| 色悠悠久久88| 国产视频在线观看免费| 夜夜操天天操亚洲| 亚洲观看黄色网| 久久精品一区二区三区中文字幕| 奇米视频888战线精品播放| 国产激情欧美| 欧美肥臀大乳一区二区免费视频| 黄频网站在线观看| 91小视频免费看| 免费观看精品视频| 操欧美老女人| 91网免费观看| 国产精品粉嫩| 日韩中文字幕免费| 高h调教冰块play男男双性文| 五月天一区二区| 亚洲国产日韩一区无码精品久久久| 免费成人av资源网| 东北少妇不带套对白| 国产一区二区三区站长工具| 成人av番号网| 天堂√8在线中文| 色小说视频一区| 天天射,天天干| 欧美猛男gaygay网站| 欧美精品亚洲精品日韩精品| 欧美韩国一区二区| 亚洲精品无码一区二区| 美国毛片一区二区三区| 僵尸世界大战2 在线播放| 欧美色爱综合| 久久综合一区二区三区| 国产精品高清一区二区| 国产不卡视频在线| 黄色污污视频在线观看| 中国china体内裑精亚洲片| 亚洲va欧美va| 欧美日韩一本到| 亚洲av无码国产精品麻豆天美| 九色综合国产一区二区三区| 日日橹狠狠爱欧美超碰| 亚洲国产一成人久久精品| 牛人盗摄一区二区三区视频| 国内自拍视频网| 欧美系列电影免费观看| 国产精品视频一区二区三区经| 成人亚洲网站| 欧美一区二区.| 日本乱理伦在线| 国产亚洲人成网站在线观看| 日韩在线视频第一页| 欧美精品 国产精品| 亚洲欧美一二三区| 午夜成人免费电影| 逼特逼视频在线观看| 久久国产精品无码网站| 黄色片视频在线播放| 日韩视频免费| 日本a在线天堂| 婷婷久久国产对白刺激五月99| 欧美三级电影在线播放| 任你弄精品视频免费观看| 成人av免费在线看| 国产一区二区三区免费在线 | 五月天综合网| 午夜精品影视国产一区在线麻豆| 国产精品自拍首页| 97色成人综合网站| 超碰97在线人人| 2020最新国产精品| 99九九视频| 亚洲精品在线播放| 999在线免费观看视频| 久久综合偷偷噜噜噜色| 91人成网站www| 国产美女精品视频免费播放软件| 亚洲欧美在线aaa| 日本久久久精品视频| 99热这里只有成人精品国产| 免费拍拍拍网站| 亚洲国产精品一区制服丝袜| 麻豆tv在线播放| 亚洲色诱最新| 欧美一级黄色片视频| 日韩国产一区二| 天天干天天玩天天操| 加勒比av一区二区| 久久久精品视频国产| 国产精品一区二区在线看| 日本少妇一级片| 不卡视频免费播放| 国产精品亚洲无码| 欧美国产亚洲另类动漫| 精品少妇一区二区三区密爱| 国产精品福利在线播放| 久久中文免费视频| 午夜影视日本亚洲欧洲精品| 久久久国产精品成人免费| 欧美日韩综合视频网址| 亚洲成人av网址| 宅男噜噜噜66一区二区66| 成 人 黄 色 片 在线播放| 精品99一区二区| 青青草超碰在线| 色综合伊人色综合网| 国产成人l区| 午夜精品久久久久久99热| 欧美xx视频| 国产在线日韩在线| 国产精品tv| 亚洲三区视频| 亚洲电影成人| www.色偷偷.com| 粉嫩高潮美女一区二区三区| 色无极影院亚洲| 亚洲欧美日韩国产综合在线| 国产在线精品观看| 欧美视频一区在线| 丰满人妻一区二区三区四区53| 亚洲片在线资源| 性xxxxfjsxxxxx欧美| 国产97在线|亚洲| 免费精品一区| 相泽南亚洲一区二区在线播放| 91精品国产调教在线观看| 欧美精品一区免费| 激情欧美一区二区| 黄色在线观看av| 亚洲免费伊人电影| 久久久久久不卡| 亚洲综合另类小说| 在线免费观看国产精品| 日韩欧美一级片| 天天干天天舔天天射| 久久亚洲国产精品| 欧美www.| 国产一区不卡在线观看| 亚洲国产精品成人| 黄色一级大片在线观看| 高清不卡一二三区| 亚洲 欧美 国产 另类| 欧美性感美女h网站在线观看免费 欧美性xxxx在线播放 | 第一社区sis001原创亚洲| 欧日韩免费视频| 国产一级精品在线| 免费黄色在线网址| 日韩欧亚中文在线| 五十路在线观看| 欧美日韩国产成人在线观看| 18在线观看的| 国产精品欧美久久久| 日韩欧美黄色| 日韩视频在线视频| 国产精品综合一区二区三区| 欧美大波大乳巨大乳| 精品成人久久av| 六月丁香色婷婷| 欧美激情精品久久久久久大尺度| 日韩午夜电影免费看| 日韩欧美99| 久热综合在线亚洲精品| 中文字幕一区二区久久人妻网站| 夜夜爽夜夜爽精品视频| 国产手机视频在线| 久久中文字幕在线| 亚洲视频资源| 亚洲精品乱码久久久久久蜜桃91 | 91亚洲一线产区二线产区| 亚洲欧洲av在线| 91theporn国产在线观看| 中文字幕视频在线免费欧美日韩综合在线看 | 日本激情视频在线观看| 国产精品久久久久久久久久久久久 | 蜜桃臀一区二区三区| 一本色道久久综合亚洲精品不| 精品一区二区三区四区五区六区| 又紧又大又爽精品一区二区| 国产精品怡红院| 久久色在线播放| 日本成人精品| 欧美图片激情小说| 91丨九色丨蝌蚪富婆spa| 99热在线观看免费精品| 日韩h在线观看| 国产不卡网站| 亚洲欧美国产不卡| 国产综合久久久久久久久久久久| 国产天堂av在线| 日韩女优制服丝袜电影| 高清电影在线观看免费| 精品视频一区二区| 老牛国产精品一区的观看方式| 99久久精品免费视频| 欧美日韩亚洲丝袜制服| 成人免费高清| 国产日韩一区二区| 久久精品中文| 日本二区三区视频| 精品国产精品网麻豆系列| 成人私拍视频| 在线电影看在线一区二区三区| 国产成人鲁色资源国产91色综| 五月婷婷亚洲综合| 中文国产亚洲喷潮| 日韩中文字幕| 久久久久久久久久久久久国产精品| 欧美激情资源网| 精品久久久免费视频| 97**国产露脸精品国产| 成人3d动漫在线观看| 国产精品一级无码| 日韩欧美aaa| 18在线观看的| 日韩高清国产精品| 国产精品资源在线| 亚洲熟妇无码乱子av电影| xvideos亚洲人网站| 国产精品久久久网站| 色悠悠久久综合网| 亚洲第一综合色| 日韩av中文| 久久久久se| 国产美女精品一区二区三区| 可以免费在线观看的av| 久久久99免费视频| 羞羞色国产精品网站| 日本网站在线看| 日本久久电影网| 色av手机在线| 亚洲国产综合自拍| av在线播放成人|