1. Estrutura básica
O modelo geral da CNN pode ser resumido como: camada convolucional + camada pooling + camada totalmente conectada + função de ativação
Algumas redes relativamente grandes, como VGG, geralmente empilham CNN como uma unidade constituinte , e vários kernels de convolução interna e pooling também podem ser empilhados . As funções de cada parte são as seguintes:
Convolução : extração de recursos
Pooling : redução de dimensionalidade e prevenção de overfitting
Achatar : Achatar os dados de recursos bidimensionais (expandir em unidimensionais)
Camada totalmente conectada : informações agregadas
Função de ativação : softmax (classificação múltipla); sigmóide (duas classificações)
2. Composição específica
①Operação de convolução
Use o kernel de convolução para deslizar sobre a entrada, multiplique os valores nas posições correspondentes do kernel de convolução e some-os. A área onde o kernel de convolução está localizado é o campo receptivo
Campo receptivo : A projeção do kernel de convolução na entrada, porque só pode ver uma parte de cada vez, é equivalente a uma conexão parcial
Ps. A conexão parcial é relativa à conexão completa
O preenchimento 0 externo é chamado de preenchimento e é usado para evitar que os recursos de borda sejam ignorados.
O significado da convolução é converter uma imagem original maior em uma saída menor.Cada núcleo de convolução tem um mapa de recursos correspondente, que extrai a extração de recursos da imagem original .
Convolução multidimensional: Por exemplo, a convolução tridimensional de uma imagem colorida é equivalente à convolução bidimensional de seus três canais de cores.
Para obter mais detalhes, consulte: Convolution Operation e Convolution Kernel DLC https://blog.csdn.net/weixin_37878740/article/details/127916612
②Pooling
Emita um valor após uma certa conversão do valor em uma determinada área (para substituir o valor de toda a área). De acordo com diferentes métodos de cálculo, pode ser dividido em: agrupamento médio e agrupamento máximo ; agrupamento também é chamado de " redução da resolução " .
As funções do pooling são: ①Reduzir a quantidade de parâmetros
②Evite o overfitting (preservar as características originais dos dados)
③ Traga a invariância de deslocamento para a rede (ou seja, o deslocamento de um determinado intervalo de imagens não afeta os resultados do cálculo e essa propriedade pode ser eliminada removendo o pooling)
③Achatar
Expanda o mapa de recursos bidimensional em um vetor constante unidimensional (para enviar para a camada totalmente conectada)
④ Camada totalmente conectada
É usado para estabelecer um mapeamento entre mapas de recursos e saídas.