#python #tensorflow #keras
#python #тензорный поток #keras
Вопрос:
Мой вопрос касается размеров тензоров, задействованных в слое Conv1D в Keras. Предполагается, что форма ввода (пакет, шаги, каналы). У меня есть, например, данные акселерометра, где я получаю сигнал времени для каждой оси. Я хотел бы сделать вывод на временных окнах длиной 50, поэтому один образец для вывода имеет форму (50, 3).
Теперь, если я использую слой Conv1D в качестве первого слоя для этих данных с kernel_size= 10 и filters = 64, результат первого слоя в одном окне данных имеет форму (41, 64). Я полностью понимаю, что появляется 41, так как это количество выборок, которое возникает в результате свертки сигнала длиной 50 с ядром длиной 10. Однако я не совсем уверен, где в этих данных находятся три оси моего акселерометра. Я бы больше ожидал следующего поведения:
input_shape = (пакет, шаги, каналы), output_shape = (пакет, steps_after_conv, каналы, фильтры)
Может кто-нибудь объяснить такое поведение Keras? Я не совсем понял это из документации.
Ответ №1:
Как показано на изображении, приведенном выше (изображение предоставлено: http://followtheart.info/kareff-Mon_15_14.html ), в convolution
операции a в a CNN
каждый фильтр свертывается по всем каналам (три канала в случае изображения RGB) для вычисления выходного значения. Итак, в вашем случае с 64 фильтрами каждый фильтр будет принимать значения из всех входных каналов в своем восприимчивом поле. Следовательно, ваш вывод будет иметь выходные данные из 64 фильтров независимо от количества каналов, которые у вас есть на входе.
Для пакета изображений (batch_size, num_channels, height, width)
выходные данные будут иметь форму (batch_size, num_filters, height_after_conv, width_after_conv)
.
Комментарии:
1. Это интересно… Это означает, что каждый из фильтров фактически содержит полностью независимый фильтр для каждого канала, результаты этих отдельных фильтров, примененных к их соответствующим каналам, в конце вычисления суммируются, чтобы составить результат для этого конкретного фильтра.
2. @Chris да .. это еще один способ взглянуть на это.