Alguns conhecimentos básicos de aprendizado profundo

Índice

1. Método de detecção de alvo em uma etapa e método em duas etapas

2. Quadro de âncora (Âncora)

3. Detector de aprendizado profundo

Em quarto lugar, as principais tarefas de aprendizado profundo no campo da computação gráfica:

Cinco, o princípio da Regressão Bounding Box

6. As características das operações de convolução e agrupamento

7. Por que a estrutura da rede VGG16 não pode ser construída muito profunda? Como a ResNet resolve esse problema.

8. Por que introduzir uma função de ativação não linear? Escreva a função de ativação saturada e a função de ativação insaturada e escreva a definição e as características de cada função de ativação.

Nove, o principal método para evitar o overfitting


1. Método de detecção de alvo em uma etapa e método em duas etapas

Algoritmos de detecção de alvo de uma etapa e um estágio: YOLO, RetinaNet, SSD, etc.

Este método de detecção depende de uma excelente experiência de rede, como fusão de recursos e perda focal. Ele pode detectar o tipo, tamanho, forma e possível localização do objeto a ser detectado por meio da estrutura de rede do algoritmo de uma só vez. É usado principalmente para altas requisitos de velocidade de detecção. A situação, como objetos em movimento ou objetos na linha de montagem, etc. Este método regride completamente o problema de detecção, que pode atender aos requisitos de tempo real e tem alta praticidade.A velocidade é geralmente mais rápida do que a rede de dois estágios, mas a precisão é pior do que o método de dois passos.

Algoritmo de detecção de alvo em duas etapas: R-CNN, Fast R-CNN, Faster R-CNN, etc.

Este método de detecção requer duas etapas ao detectar um objeto. Primeiro, enquadrar a área de interesse do objeto a ser detectado para obter um quadro de sugestão para garantir uma recuperação precisa suficiente e, em seguida, classificar o quadro de sugestão por meio do algoritmo de detecção para encontrar um mais preciso Este método de detecção é frequentemente usado em campos que não requerem alta velocidade de detecção, como abrasivos moldados fixos ou estacionários. Sua precisão de detecção é maior do que a do método de uma etapa, mas seu desempenho em tempo real é pior do que o método de uma etapa.

2. Quadro de âncora (Âncora)

Anchor apareceu pela primeira vez em Faster RCNN. É essencialmente uma série de caixas a priori de diferentes tamanhos, largura e altura, distribuídas uniformemente no mapa de recursos e usa recursos para prever a categoria dessas âncoras e o deslocamento da borda do objeto real. . Anchor é equivalente a fornecer uma escada para detecção de objetos, para que o detector não preveja objetos diretamente do zero, e a precisão geralmente é alta.Algoritmos comuns incluem Faster RCNN e SSD.

3. Detector de aprendizado profundo

1. Histórico de desenvolvimento

2. Indicadores de avaliação

(1)IoU:

Para um objeto específico, a qualidade da detecção pode ser julgada a partir do grau de ajuste entre o quadro previsto e o quadro real, e IoU (Intersection of Union) geralmente é usado para quantificar o grau de ajuste.

O método de cálculo de IoU: a relação entre a interseção e a união das duas fronteiras. A faixa de valores de IoU é [0,1] Quanto maior o valor de IoU, melhor a coincidência dos dois quadros.

(2)mAP:

Para um detector, mAP (precisão média média) geralmente é usado para avaliar a qualidade de um modelo. AP refere-se à precisão de detecção de uma categoria e mAP é a precisão média de várias categorias. A avaliação requer o valor previsto e o valor do rótulo de cada imagem. Para uma determinada instância, os dois conteúdos incluem:

  • Valor previsto (Dets): 4 valores previstos da categoria do objeto, posição da borda e pontuação do objeto.
  • Tag Values ​​(GTs): 4 valores de base para a categoria do objeto, posição da caixa delimitadora.

Em quarto lugar, as principais tarefas de aprendizado profundo no campo da computação gráfica:

(1) Classificação de imagem: Rotule os objetos que aparecem em uma imagem.

(2) Detecção de alvo: insira a imagem de teste e emita a categoria e a posição do objeto detectado.

(3) Segmentação de objetos: Segmente objetos específicos na imagem de acordo com suas bordas.

(4) Geração de imagem

Cinco, o princípio da Regressão Bounding Box

No processo de detecção de alvo, o quadro candidato gerado é abordado com o quadro real marcado como alvo. Como a caixa em uma imagem pode ser determinada exclusivamente pelas coordenadas do ponto central (Xc, Yc) e pela largura w e altura H, esse processo de aproximação pode ser modelado como um problema de regressão.

Uma estratégia de "ajuste fino" pode ser implementada por meio de regressão de quadro , e o quadro previsto é ajustado para ficar o mais próximo possível do quadro real para melhorar o resultado da previsão do modelo.

A ideia usual de regressão de borda é: translação + encolhimento de escala. Primeiro faça a translação para que os centros das caixas coincidam o máximo possível e, em seguida, execute o escalonamento para tornar a área próxima.

O princípio acima é expresso em símbolos matemáticos da seguinte forma: Dado um conjunto de quadros-alvo candidatos P=(Px,Py,Pw,Ph), encontre um mapeamento f tal que f(Px,Py,Pw,Ph)=(Gx^ ,Gy^,Gw^,Gh^) e (Gx^,Gy^,Gw^,Gh^)≈(Gx,Gy,Gw,Gh). Onde G representa o quadro de destino real e G^ representa o quadro de destino previsto pelo algoritmo de regressão de limite.

Artigo de referência:

Regressão da caixa delimitadora (Regressão da caixa delimitadora) Explicação detalhada

6. As características das operações de convolução e agrupamento

As características da convolução: as características de "percepção local, compartilhamento de parâmetros" reduzem bastante os parâmetros da rede, garantem a dispersão da rede e evitam o overfitting.

As características do pooling: reduzir o overfitting do modelo; invariância de translação, ou seja, se o objeto tiver uma pequena translação na imagem (não excedendo o campo receptivo), esse deslocamento não afetará o efeito do pooling, portanto, não afeta a extração do mapa de recursos do modelo.

7. Por que a estrutura da rede VGG16 não pode ser construída muito profunda? Como a ResNet resolve esse problema.

(1) Quanto mais redes convencionais, como AlexNet e VGG, são camadas empilhadas simples.O fenômeno mais óbvio é que quanto mais profunda a camada de rede, melhor o efeito de reconhecimento. Mas, na verdade, quando o número de camadas de rede atinge uma certa profundidade, a taxa de precisão atinge a saturação e diminui rapidamente, resultando na degradação da rede. Devido à regra da cadeia no algoritmo de retropropagação, se o gradiente entre as camadas estiver entre (0,1) e as camadas forem reduzidas, o gradiente desaparecerá. Por outro lado, se o gradiente passado camada por camada for maior que 1, então, após a expansão camada por camada, haverá uma explosão de gradiente. Portanto, camadas de empilhamento simples inevitavelmente causarão degradação da rede.

(2) ResNet apresenta o módulo residual, que resolve o problema de não poder ser treinado quando o nível é relativamente profundo. Ele passa parte dos dados da entrada diretamente para a saída sem passar pela rede neural. Dessa forma, parte da informação original é retida para evitar o problema de dispersão de gradiente durante a retropropagação, de modo que a profundidade da rede atinja 152 camadas de uma só vez. A intenção original do ResNet é permitir que a rede tenha a capacidade de mapeamento de identidade, para que, quando a rede for aprofundada, possa pelo menos garantir que o desempenho final da rede profunda seja pelo menos igual ao da rede rasa.

8. Por que introduzir uma função de ativação não linear? Escreva a função de ativação saturada e a função de ativação insaturada e escreva a definição e as características de cada função de ativação.

A função de ativação é uma função que roda nos neurônios da rede neural artificial, e é responsável por mapear a entrada do neurônio para a saída.A função de ativação é introduzida para aumentar a não linearidade do modelo da rede neural.

(1) A transformação não linear é uma das razões pelas quais o aprendizado profundo é eficaz. A razão é que a não linearidade é equivalente a transformar o espaço. Após a transformação, é equivalente a simplificar o espaço do problema. O problema que originalmente era linearmente insolúvel agora pode ser resolvido. Se nenhuma função de ativação for usada, neste caso a saída de cada camada é uma função linear da entrada da camada superior, então não importa quantas camadas a rede neural tenha, a saída é uma combinação linear da entrada, que é equivalente a nenhuma camada oculta, que é a máquina de percepção mais primitiva, então a capacidade de aproximação da rede é bastante limitada.

(2) As funções de ativação são divididas em duas categorias, funções de ativação saturadas e funções de ativação insaturadas.

Função de ativação de saturação: sigmóide, tanh;

Funções de ativação insaturadas: ReLU, PReLU, Leaky ReLU, RReLU, ELU, etc.

Artigo de referência:

Compreensão e resumo das funções comuns de ativação (funções de incentivo)_Artificial Intelligence_tyhj_sf-DevPress Official Community (csdn.net)

Nove, o principal método para evitar o overfitting

(1) Adicionar termo de regularização e penalidade de norma de parâmetro: Adicione algumas restrições de regra à função objetivo que precisa ser treinada.

(2) Aprimoramento de dados, aumentando o número de amostras: A maneira de melhorar a capacidade de generalização do modelo é usar mais dados de treinamento para treinamento. Alguns dados podem ser criados artificialmente e adicionados ao conjunto de treinamento.

(3) Parada antecipada: Com a melhoria da capacidade do modelo, o erro do conjunto de treinamento primeiro diminuirá e depois aumentará, e o algoritmo pode ser encerrado antecipadamente para aliviar o fenômeno de overfitting.

(4) abandono: pode ser usado como um truque para treinar redes neurais profundas. O overbatching é significativamente reduzido ao ignorar metade dos detectores de recursos em cada lote de treinamento.

(5) Batch Normailization: BN é normalizado para que a saída siga uma distribuição normal (0,1), de modo que a entrada esteja na parte linear da função de ativação, ajudando a rede a se ajustar mais rapidamente.

(6) Tempo de treinamento: escolha a taxa de aprendizado e as rodadas de aprendizado apropriadas.

(7) Associação de parâmetros e compartilhamento de parâmetros.

Artigo de referência:

Resumo abrangente dos pontos de conhecimento de aprendizado profundo_GoAI's Blog-CSDN Blog_Deep Learning Summary

Observação:

Este artigo é uma indução e resumo após o estudo dos documentos e materiais de referência. É apenas para registros de aprendizado. Se houver algum erro, corrija e comunique.

Acho que você gosta

Origin blog.csdn.net/weixin_45820024/article/details/128730929
Recomendado
Clasificación