色综合中文综合网_性猛交娇小69hd_久久精品99久久久久久_欧美日韩精品一区二区三区四区 _97视频色精品_国产高清精品久久久久_日日鲁鲁鲁夜夜爽爽狠狠视频97 _国产成人免费视频精品含羞草妖精 _熟女少妇在线视频播放_精品人妻一区二区三区麻豆91 _久久女同性恋中文字幕_一区二区福利视频

你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了

用AI搞定離散傅里葉變換

明敏 發(fā)自 凹非寺
量子位 報道 | 公眾號 QbitAI

在我們的生活中,大到天體觀測、小到MP3播放器上的頻譜,沒有傅里葉變換都無法實現(xiàn)。

通俗來講,離散傅里葉變換(DFT)就是把一串復(fù)雜波形中分成不同頻率成分。

比如聲音,如果用聲波記錄儀顯示聲音的話,其實生活中絕大部分聲音都是非常復(fù)雜、甚至雜亂無章的。

而通過傅里葉變換,就能把這些雜亂的聲波轉(zhuǎn)化為正弦波,也就是我們平常看到的音樂頻譜圖的樣子。

你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了

不過在實際計算中,這個過程其實非常復(fù)雜。

如果把聲波視作一個連續(xù)函數(shù),它可以唯一表示為一堆三角函數(shù)相疊加。不過在疊加過程中,每個三角函數(shù)的加權(quán)系數(shù)不同,有的要加高一些、有的要壓低一些,有的甚至不加。

傅里葉變換要找到這些三角函數(shù)以及它們各自的權(quán)重。

你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了

這不就巧了,這種找啊找的過程,像極了神經(jīng)網(wǎng)絡(luò)。

神經(jīng)網(wǎng)絡(luò)的本質(zhì)其實就是逼近一個函數(shù)。

那豈不是可以用訓(xùn)練神經(jīng)網(wǎng)絡(luò)的方式來搞定傅里葉變換?

這還真的可行,并且最近有人在網(wǎng)上發(fā)布了自己訓(xùn)練的過程和結(jié)果。

DFT=神經(jīng)網(wǎng)絡(luò)

該怎么訓(xùn)練神經(jīng)網(wǎng)絡(luò)呢?這位網(wǎng)友給出的思路是這樣的:

首先要把離散傅里葉變換(DFT)看作是一個人工神經(jīng)網(wǎng)絡(luò),這是一個單層網(wǎng)絡(luò),沒有bias、沒有激活函數(shù),并且對于權(quán)重有特定的值。它輸出節(jié)點的數(shù)量等于傅里葉變換計算后頻率的數(shù)量。

具體方法如下:

這是一個DFT:

你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了
  • k表示每N個樣本的循環(huán)次數(shù);
  • N表示信號的長度;
  • 表示信號在樣本n處的值。

一個信號可以表示為所有正弦信號的和。

yk是一個復(fù)值,它給出了信號x中頻率為k的正弦信號的信息;從yk我們可以計算正弦的振幅和相位。

換成矩陣式,它就變成了這樣:

你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了

這里給出了特定值k的傅里葉值。

不過通常情況下,我們要計算全頻譜,即k從[0,1,…N-1]的值,這可以用一個矩陣來表示(k按列遞增,n按行遞增):

你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了

簡化后得到:

你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了

看到這里應(yīng)該還很熟悉,因為它是一個沒有bias和激活函數(shù)的神經(jīng)網(wǎng)絡(luò)層。

指數(shù)矩陣包含權(quán)值,可以稱之為復(fù)合傅里葉權(quán)值(Complex Fourier weights),通常情況下我們并不知道神經(jīng)網(wǎng)絡(luò)的權(quán)重,不過在這里可以。

  • 不用復(fù)數(shù)

通常我們也不會在神經(jīng)網(wǎng)絡(luò)中使用復(fù)數(shù),為了適應(yīng)這種情況,就需要把矩陣的大小翻倍,使其左邊部分包含實數(shù),右邊部分包含虛數(shù)。

你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了

你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了

帶入DFT,可以得到:

你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了

然后用實部(cos形式)來表示矩陣的左半部分,用虛部(sin形式)來表示矩陣的右半部分:

你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了

簡化后可以得到:

你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了

你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了

稱為傅里葉權(quán)重;

需要注意的是,y^和y實際上包含相同的信息,但是y^

不使用復(fù)數(shù),所以它的長度是y的兩倍。

換句話說,我們可以用

你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了

你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了

表示振幅和相位,但是我們通常會使用

你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了

現(xiàn)在,就可以將傅里葉層加到網(wǎng)絡(luò)中了。

用傅里葉權(quán)重計算傅里葉變換

現(xiàn)在就可以用神經(jīng)網(wǎng)絡(luò)來實現(xiàn)

你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了

,并用快速傅里葉變換(FFT)檢查它是否正確。

import matplotlib.pyplot as plt


y_real = y[:, :signal_length]
y_imag = y[:, signal_length:]
tvals = np.arange(signal_length).reshape([-1, 1])
freqs = np.arange(signal_length).reshape([1, -1])
arg_vals = 2 * np.pi * tvals * freqs / signal_length
sinusoids = (y_real * np.cos(arg_vals) - y_imag * np.sin(arg_vals)) / signal_length
reconstructed_signal = np.sum(sinusoids, axis=1)


print('rmse:', np.sqrt(np.mean((x - reconstructed_signal)**2)))
plt.subplot(2, 1, 1)
plt.plot(x[0,:])
plt.title('Original signal')
plt.subplot(2, 1, 2)
plt.plot(reconstructed_signal)
plt.title('Signal reconstructed from sinusoids after DFT')
plt.tight_layout()
plt.show()
rmse: 2.3243522568191728e-15

得到的這個微小誤差值可以證明,計算的結(jié)果是我們想要的。

  • 另一種方法是重構(gòu)信號
import matplotlib.pyplot as plt


y_real = y[:, :signal_length]
y_imag = y[:, signal_length:]
tvals = np.arange(signal_length).reshape([-1, 1])
freqs = np.arange(signal_length).reshape([1, -1])
arg_vals = 2 * np.pi * tvals * freqs / signal_length
sinusoids = (y_real * np.cos(arg_vals) - y_imag * np.sin(arg_vals)) / signal_length
reconstructed_signal = np.sum(sinusoids, axis=1)


print('rmse:', np.sqrt(np.mean((x - reconstructed_signal)**2)))
plt.subplot(2, 1, 1)
plt.plot(x[0,:])
plt.title('Original signal')
plt.subplot(2, 1, 2)
plt.plot(reconstructed_signal)
plt.title('Signal reconstructed from sinusoids after DFT')
plt.tight_layout()
plt.show()
rmse: 2.3243522568191728e-15
你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了

最后可以看到,DFT后從正弦信號重建的信號和原始信號能夠很好地重合。

通過梯度下降學(xué)習(xí)傅里葉變換

現(xiàn)在就到了讓神經(jīng)網(wǎng)絡(luò)真正來學(xué)習(xí)的部分,這一步就不需要向之前那樣預(yù)先計算權(quán)重值了。

首先,要用FFT來訓(xùn)練神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)離散傅里葉變換:

import tensorflow as tf


signal_length = 32


# Initialise weight vector to train:
W_learned = tf.Variable(np.random.random([signal_length, 2 * signal_length]) - 0.5)


# Expected weights, for comparison:
W_expected = create_fourier_weights(signal_length)


losses = []
rmses = []


for i in range(1000):
    # Generate a random signal each iteration:
    x = np.random.random([1, signal_length]) - 0.5
    
    # Compute the expected result using the FFT:
    fft = np.fft.fft(x)
    y_true = np.hstack([fft.real, fft.imag])
    
    with tf.GradientTape() as tape:
        y_pred = tf.matmul(x, W_learned)
        loss = tf.reduce_sum(tf.square(y_pred - y_true))
    
    # Train weights, via gradient descent:
    W_gradient = tape.gradient(loss, W_learned)    
    W_learned = tf.Variable(W_learned - 0.1 * W_gradient)


    losses.append(loss)
    rmses.append(np.sqrt(np.mean((W_learned - W_expected)**2)))
Final loss value 1.6738563548424711e-09
Final weights' rmse value 3.1525832404710523e-06
你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了
你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了

得出結(jié)果如上,這證實了神經(jīng)網(wǎng)絡(luò)確實能夠?qū)W習(xí)離散傅里葉變換。

訓(xùn)練網(wǎng)絡(luò)學(xué)習(xí)DFT

除了用快速傅里葉變化的方法,還可以通過網(wǎng)絡(luò)來重建輸入信號來學(xué)習(xí)DFT。(類似于autoencoders自編碼器)。

自編碼器(autoencoder, AE)是一類在半監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)中使用的人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks, ANNs),其功能是通過將輸入信息作為學(xué)習(xí)目標,對輸入信息進行表征學(xué)習(xí)(representation learning)。

W_learned = tf.Variable(np.random.random([signal_length, 2 * signal_length]) - 0.5)


tvals = np.arange(signal_length).reshape([-1, 1])
freqs = np.arange(signal_length).reshape([1, -1])
arg_vals = 2 * np.pi * tvals * freqs / signal_length
cos_vals = tf.cos(arg_vals) / signal_length
sin_vals = tf.sin(arg_vals) / signal_length


losses = []
rmses = []


for i in range(10000):
    x = np.random.random([1, signal_length]) - 0.5
    
    with tf.GradientTape() as tape:
        y_pred = tf.matmul(x, W_learned)
        y_real = y_pred[:, 0:signal_length]
        y_imag = y_pred[:, signal_length:]
        sinusoids = y_real * cos_vals - y_imag * sin_vals
        reconstructed_signal = tf.reduce_sum(sinusoids, axis=1)
        loss = tf.reduce_sum(tf.square(x - reconstructed_signal))


    W_gradient = tape.gradient(loss, W_learned)    
    W_learned = tf.Variable(W_learned - 0.5 * W_gradient)


    losses.append(loss)
    rmses.append(np.sqrt(np.mean((W_learned - W_expected)**2)))
Final loss value 4.161919455121241e-22
Final weights' rmse value 0.20243339269590094
你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了
你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了
你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了

作者用這一模型進行了很多測試,最后得到的權(quán)重不像上面的例子中那樣接近傅里葉權(quán)值,但是可以看到重建的信號是一致的。

換成輸入振幅和相位試試看呢。

W_learned = tf.Variable(np.random.random([signal_length, 2 * signal_length]) - 0.5)


losses = []
rmses = []


for i in range(10000):
    x = np.random.random([1, signal_length]) - .5
    
    with tf.GradientTape() as tape:
        y_pred = tf.matmul(x, W_learned)
        y_real = y_pred[:, 0:signal_length]
        y_imag = y_pred[:, signal_length:]
        amplitudes = tf.sqrt(y_real**2 + y_imag**2) / signal_length
        phases = tf.atan2(y_imag, y_real)
        sinusoids = amplitudes * tf.cos(arg_vals + phases)
        reconstructed_signal = tf.reduce_sum(sinusoids, axis=1)
        loss = tf.reduce_sum(tf.square(x - reconstructed_signal))


    W_gradient = tape.gradient(loss, W_learned)
    W_learned = tf.Variable(W_learned - 0.5 * W_gradient)


    losses.append(loss)
    rmses.append(np.sqrt(np.mean((W_learned - W_expected)**2)))
Final loss value 2.2379359316633115e-21
Final weights' rmse value 0.2080118219691059
你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了
你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了
你還弄不懂的傅里葉變換,神經(jīng)網(wǎng)絡(luò)只用了30多行代碼就學(xué)會了

可以看到,重建信號再次一致;

不過,和此前一樣,輸入振幅和相位最終得到的權(quán)值也不完全等同于傅里葉權(quán)值(但非常接近)。

由此可以得出結(jié)論,雖然最后得到的權(quán)重還不是最準確的,但是也能夠獲得局部的最優(yōu)解。

這樣一來,神經(jīng)網(wǎng)絡(luò)就學(xué)會了傅里葉變換!

  • 值得一提的是,這個方法目前還有疑問存在:

首先,它沒有解釋計算出的權(quán)值和真正的傅里葉權(quán)值相差多少;

而且,也沒有說明將傅里葉層放到模型中能帶來哪些益處。

原文鏈接:
https://sidsite.com/posts/fourier-nets/

版權(quán)所有,未經(jīng)授權(quán)不得以任何形式轉(zhuǎn)載及使用,違者必究。
在线免费看黄色片| 日韩欧美亚洲日产国| 久久久久久999| 午夜精品免费视频| 国产精品美女www| 亚洲japanese制服美女| 麻豆成人在线播放| 亚洲一区二区三区色| 久久视频免费在线| 欧美精品第三页| 不卡的一区二区| 国产精品天天干| 久久精品国产亚洲av香蕉| 黄色片网站在线免费观看| 国产三级第一页| 久久66热re国产| 91在线视频观看| 亚洲一级电影视频| 欧美大片一区二区| 久久夜色精品国产| 国产精品永久在线| 亚洲一区二区四区| 91小视频网站| 中国1级黄色片| 久久夜色精品国产噜噜亚洲av| a天堂在线视频| 国产大陆a不卡| 国产精品久久毛片av大全日韩| 欧美小视频在线观看| 日韩av中文字幕在线免费观看| 色综合五月天导航| 国产欧美亚洲日本| 免费 成 人 黄 色| 中国女人特级毛片| 国产偷拍一区二区| 91视视频在线观看入口直接观看www| 亚洲一区二区三区四区的| 精品欧美一区二区在线观看| 97在线视频观看| 日本免费一区二区三区| 岛国毛片在线播放| 日韩av黄色片| 精品无人区卡一卡二卡三乱码免费卡| 亚洲欧洲精品成人久久奇米网| 欧美一级午夜免费电影| 88xx成人精品| 国产高清免费在线| 人妻丰满熟妇aⅴ无码| 在线观看你懂的网站| 成人黄色a**站在线观看| 大伊人狠狠躁夜夜躁av一区| 日韩中文字幕精品| 日本一区二区三区四区高清视频 | 欧美在线999| 欧美乱妇高清无乱码| 日本最新一区二区三区视频观看| 成人在线短视频| 久久国产香蕉视频| 中文字幕高清一区| 日韩乱码在线视频| 国产在线精品二区| 人妻无码中文久久久久专区| 99精品久久久久久中文字幕| 中文字幕成人av| 亚洲图片欧洲图片av| 国产美女精品在线观看| 久久久久99人妻一区二区三区| 天天射天天干天天| 欧美国产一区二区在线观看| 亚洲精品久久久久久久久久久久久| 91久久精品在线| 一级淫片在线观看| 亚洲一二区视频| 中文字幕日韩av资源站| 在线精品播放av| 亚洲亚洲精品三区日韩精品在线视频| 级毛片内射视频| 久久成人麻豆午夜电影| 在线不卡中文字幕播放| 91视频免费在线观看| 免费国偷自产拍精品视频| 精品国产乱码一区二区三 | 国产极品jizzhd欧美| 成年人在线看片| 亚洲天堂男人网| 亚洲午夜一区二区三区| 97国产在线视频| 五月天av在线播放| 天堂中文在线官网| 在线综合视频播放| 欧美日韩一区二区视频在线| 欧美人与性囗牲恔配| caoporn国产精品| 久久色在线播放| aa在线免费观看| av小说天堂网| 欧美久久久久久久久久| 国语精品免费视频| 一级黄色片日本| 日本一二三四高清不卡| 国产69精品久久久久9| 天天操,天天操| 久久久综合网| 亚洲精品国产电影| 日韩精品一区二区免费| 国产精品福利电影| 欧美图区在线视频| 日韩av图片| 91国产丝袜播放在线| 亚洲一区二区三区在线播放| 91超碰在线电影| 国产真实乱在线更新| 国产精品福利影院| 国产精品自产拍在线观| 51妺嘿嘿午夜福利| 国产欧美日韩精品在线| 国产精品96久久久久久| 亚洲色成人网站www永久四虎| 国产亚洲午夜高清国产拍精品 | 波多野结衣办公室双飞 | 久久亚洲国产精品成人av秋霞| 少妇高清精品毛片在线视频| 久久一区欧美| 久久艳片www.17c.com| 波多野结衣网页| 91在线观看免费视频| 国产精品高潮呻吟久久av野狼| 中文字幕av久久爽一区| 18欧美乱大交hd1984| 91九色偷拍| 中文字幕黄色片| 91精品国产综合久久精品app| 成人短视频在线观看免费| 四虎永久在线精品免费网址| 永久免费毛片在线播放不卡| 亚洲 激情 在线| 97久久超碰国产精品| 国产色婷婷国产综合在线理论片a| 99自拍视频在线| 日韩精品中文字幕有码专区| av在线网址导航| 国产乡下妇女做爰| 日韩精品电影一区二区| 久久综合九色综合97婷婷| 中文字幕1区2区| 亚洲欧美三级在线| 国产美女久久久久| 在线播放av网址| 神马久久久久久| 成人午夜精品福利免费| 国产精品欧美一区二区| 国产手机在线观看| 欧美午夜电影在线播放| 激情视频免费网站| 91年精品国产| 亚洲欧美国内爽妇网| 成人免费黄色小视频| 国产精品丝袜白浆摸在线| 日韩人妻精品中文字幕| 欧美理论电影在线播放| 色婷婷av一区二区三| 国产精品国产三级国产有无不卡| 手机看片一级片| 欧美挠脚心视频网站| www.黄色国产| 欧美肉大捧一进一出免费视频 | 国产一区欧美二区| 久久伊人一区| 久久精品72免费观看| 波多野结衣久草一区| 免费成人美女在线观看| 亚洲国产婷婷香蕉久久久久久99| 国产成人99久久亚洲综合精品| 日韩你懂的在线观看| 香蕉视频在线网址| 五十路在线视频| 亚洲精品动漫久久久久| 国产污视频在线观看| 97视频中文字幕| 成人欧美一区二区三区黑人麻豆| 欧美牲交a欧美牲交| 精品福利樱桃av导航| 手机在线精品视频| 久久久久久久久久一区二区三区| 成人小视频在线看| 国产精品久久久久久av福利软件| 欧美精品一区二区三区很污很色的 | 秋霞午夜鲁丝一区二区| 国产午夜精品久久久| 久久久久久久久黄色| 亚洲精品少妇网址| 精品人妻无码一区二区性色| 免费无码av片在线观看| 国产69精品久久久| 日韩乱码在线观看| 青青草成人网| 欧美在线观看禁18| 无码人妻精品一区二区三区9厂 | 亚洲人成电影网| 国产一区二区三区高清播放| 熟妇人妻久久中文字幕| 久久久福利视频| 日韩欧美在线1卡| 91午夜交换视频| 国产精品一区二区三区免费| 亚洲欧美在线aaa| 在线免费观看亚洲视频| 国产精品日韩一区二区| 国产日韩精品一区二区三区在线| 国产美女久久精品香蕉69| 性少妇videosexfreexxx片| 国产福利精品在线| 午夜视频福利在线| 日韩精品无码一区二区三区| 日韩中文字幕在线观看| 农村妇女精品一区二区| 国产无遮挡猛进猛出免费软件| 成人国产在线激情| 国产视频久久网| 成人免费视频免费观看| 国产精品拍拍拍| 国产精品久久久久av| 国产精品乱人伦| 中文字幕av久久爽| 91精品免费| 国产精品久久久爽爽爽麻豆色哟哟| 伊人网av在线| 亚洲女优在线观看| 蜜桃传媒一区二区| 日韩成人在线观看| 黄色成人av网| 中国男女全黄大片| 热re99久久精品国99热蜜月| 欧美成人久久久| 91精品国产欧美一区二区成人| 欧美视频精品在线观看| 日韩一级大片在线| 91精品国产综合久久久久| 欧美亚一区二区| 亚洲国产精品麻豆| 日韩国产一区二| 精产国品一二三区| www国产亚洲精品| 中文字幕久久久av一区| 亚洲第一激情av| 99在线观看免费| 国产91在线亚洲| 亚洲最新av网址| 日韩小视频在线| 亚洲精品美女网站| 久久亚洲精品国产精品紫薇| 久久中文字幕无码| 日韩精品人妻中文字幕有码| 久久精品视频中文字幕| 99精品在线免费| 久久97超碰国产精品超碰| 在线观看国产一区二区三区| 加勒比av在线播放| 青娱乐国产在线视频| 国产探花视频在线播放| 国产成年人在线观看| 欧美激情一级精品国产| 日韩精品中文字幕一区| 国产亚洲欧美一区在线观看| 人妻少妇一区二区三区| 日本裸体美女视频| 91杏吧porn蝌蚪| 欧美一区二区日韩| 男人的j进女人的j一区| 成人免费看aa片| 中文字幕av导航| 欧美精品亚洲精品| 欧美理论一区二区| 在线视频不卡一区二区三区| 日本成人免费在线| 92国产精品久久久久首页| 日韩av高清不卡| 麻豆视频成人| av永久免费观看| 精品成人无码久久久久久| 处破女av一区二区| 欧美性猛交xxxx免费看久久久| 日本视频一区二区三区| 国语对白永久免费| 亚洲精品久久久久久久蜜桃| 一区二区乱子伦在线播放| 日韩和一区二区| 亚洲性在线观看| 国产日韩免费视频| 一区二区三区在线观看免费视频| 男人天堂av片| 视频一区视频二区视频三区视频四区国产 | 日韩视频在线你懂得| 麻豆精品久久久| 亚洲精品乱码久久久久久久久久久久 | 欧美一区二区三区四区在线| 中文字幕一区二区三区四区不卡 | 亚洲精品20p| 成年人在线看片| 日本wwww色| 林心如三级全黄裸体| 蜜桃传媒视频第一区入口在线看| 日韩精品在线视频| 亚洲日本va午夜在线影院| 免费看精品久久片| 一区二区国产欧美| 国产美女视频91| 91福利在线观看| 国产精品美女999| 欧美xxxx黑人又粗又长密月 | 欧美在线观看不卡| 久久99国产综合精品免费| 国产精品国产亚洲精品看不卡15 | 色婷婷综合久久久久中文字幕1| 亚洲精品ady| 欧美国产日韩在线观看| 国产夜色精品一区二区av| 亚洲欧美电影院| 亚洲一区二区三区四区的| 丁香五六月婷婷久久激情| 日韩欧美视频在线| 在线观看国产成人av片| 欧美激情a在线| 久久资源免费视频| 日韩激情在线视频| 日韩电视剧在线观看免费网站 | 亚洲国产精品成人一区二区| 亚洲激情成人网| 久久亚洲精品一区| 亚洲精品电影网| 97久久国产精品| 一区二区三区在线观看www| 高清在线观看免费| 亚洲最大的黄色网| 女人十八岁毛片| 久久久久国产精品厨房| 色国产综合视频| 国产欧美日韩亚洲精品| 天堂www中文在线资源| 一级成人黄色片| 日韩福利电影在线| 欧美三区免费完整视频在线观看| 91精品免费在线| 久久伊人精品视频| 91免费精品视频| 久久最新免费视频| 亚洲美女在线播放| 成人免费视频国产免费观看| 快she精品国产999| 一区二区三区在线视频观看58| 日韩三级电影网址| 日本三级久久久| 久久国产精品一区二区三区| 精品久久久久久无码中文野结衣| 久久亚洲a v| 国产xxxxhd| 国产大片中文字幕在线观看| 天堂在线视频免费观看| 韩国女主播成人在线观看| 99久久精品免费看| 国产精品电影院| 欧美精品一区二区三区蜜桃| 国产91久久婷婷一区二区| 国产欧美日韩一区| 性chinese极品按摩| 超碰在线97观看| 黑人巨大精品欧美一区二区三区| xxav国产精品美女主播| 天天综合色天天综合色hd| 一级在线观看视频| 日韩av中文字幕一区二区| 国产亚洲精品久久久优势| 亚洲私人黄色宅男| 欧美一级电影久久| 男女猛烈激情xx00免费视频| 国产午夜手机精彩视频| 国内精品国产成人国产三级| 欧美日韩国产精品一区| 日韩av不卡电影| 九九热久久免费视频| 亚洲一区二区三区自拍| 搞av.com| 国产婷婷色一区二区三区在线| 99视频网站| www五月婷婷| 岛国精品视频在线播放| 9a蜜桃久久久久久免费| 亚洲色图27p| 国产精品久久久久久久岛一牛影视| 国内精久久久久久久久久人| 精品1卡二卡三卡四卡老狼| 成人一区二区三区视频| 午夜精品美女自拍福到在线| 亚洲无码精品在线观看| 午夜精品在线视频| 国产字幕在线观看| 日韩国产精品亚洲а∨天堂免| 少妇无码av无码专区在线观看 | 日韩毛片精品高清免费| 波多野结衣家庭教师视频| 欧美午夜精品伦理| 精品无码免费视频| 亚洲性69xxxbbb| 亚洲av成人无码网天堂| 97伦理在线四区| 精一区二区三区| caoporn国产精品免费公开| 日韩中文字幕免费观看| 亚洲高清在线观看| 91导航在线观看|