Коли люди говорять про нейронні мережі, що вони означають, коли говорять "розмір ядра"? Ядра - це функції подібності, але що це говорить про розмір ядра?
Коли люди говорять про нейронні мережі, що вони означають, коли говорять "розмір ядра"? Ядра - це функції подібності, але що це говорить про розмір ядра?
Відповіді:
Глибокі нейронні мережі, більш конкретно конволюційні нейронні мережі (CNN), в основному являють собою групу шарів, які визначаються дією низки фільтрів на вхід. Ці фільтри зазвичай називають ядрами.
Наприклад, ядра в згортковому шарі - це згорткові фільтри. Насправді не відбувається згортання, а перехресне співвідношення. Розмір ядра тут відноситься до ширини висоти маски фільтра.
Наприклад, максимальний шар об'єднання повертає піксель з максимальним значенням з набору пікселів всередині маски (ядра). Це ядро прокатується через вхід, підсилюючи його.
Тож нічого спільного з концепцією ядер у підтримуючих векторних машинах чи мережах регуляризації. Ви можете думати про них як про екстрактори.
Як ви бачите вище, ядро, відоме також як матриця ядра, є функцією між ними та розміром, тут 3, є розміром ядра (де ширина ядра дорівнює висоті ядра).
Зауважте, що ядро не обов'язково має бути симетричним, і ми можемо перевірити це, цитуючи цей текст із документа Conv2D у Tensorflow :
kernel_size: ціле число або кортеж / список з двох цілих чисел, вказуючи висоту та ширину вікна 2D згортки. Можна одним цілим числом задати однакове значення для всіх просторових розмірів.
Але зазвичай ми просто робимо ширину та висоту рівними, і якщо не розмір ядра, то має бути кортеж 2. Ядро може бути несиметричним, наприклад, у Conv1D (див. Цей приклад , і розмір ядра може бути більше 2 чисел, наприклад (4, 4, 3) у прикладі нижче Conv3D :