لایه TimeDistributed در کتابخانه Keras ، یک لایه شبکه عصبی عمیق است که مجموعهای از لایههای معمولی را برای هر زمان در یک دنباله ورودی تکرار میکند و خروجی هرکدام از زمانها را به یکدیگر متصل میکند. در واقع، این لایه پایهای برای شبکههای بازگشتی مثل LSTM و GRU است.
به عنوان مثال، اگر یک ورودی با سه ویژگی و چهار زمان ورودی داشته باشیم، داده ورودی (3,4) خواهد بود. با استفاده از لایه TimeDistributed و کپی کردن یک سری از لایهها برای هر زمان، میتوانیم این ورودی را به خروجی با ابعاد (3,4,خروجی) تبدیل کنیم، به طوری که میتوانیم برای هر ویژگی در هر زمان، خروجی متفاوتی تولید کنیم.
به عنوان مثال، اگر لایه TimeDistributed را روی یک لایه کاملا متصل (fully connected) اعمال کنیم، میتوانیم یک بردار خروجی برای هر زمان تولید کنیم. به همین ترتیب، با اعمال یک لایه کانولوشن Conv2D بر روی دنباله های تصویری، میتوانیم یک تصویر خروجی برای هر زمان در دنباله تولید کنیم.
با استفاده از این لایه، شبکههای عصبی عمیق میتوانند دنبالههای طولانی را بررسی کنید.