chore(i18n): sync translations with latest source changes (chunk 66/148, 100 files)
This commit is contained in:
parent
29f3936eb1
commit
41663fc54d
|
|
@ -199,7 +199,7 @@
|
|||
"\n",
|
||||
"A representação vetorial **Bag of Words** (BoW) é a representação vetorial tradicional mais comumente usada. Cada palavra está vinculada a um índice do vetor, e o elemento do vetor contém o número de ocorrências de uma palavra em um determinado documento.\n",
|
||||
"\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"\n",
|
||||
"> **Note**: Você também pode pensar no BoW como a soma de todos os vetores one-hot-encoded para palavras individuais no texto.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -188,7 +188,7 @@
|
|||
"\n",
|
||||
"A representação vetorial **Bag-of-words** (BoW) é a forma tradicional mais simples de entender uma representação vetorial. Cada palavra é vinculada a um índice no vetor, e um elemento do vetor contém o número de ocorrências de cada palavra em um determinado documento.\n",
|
||||
"\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"\n",
|
||||
"> **Note**: Você também pode pensar no BoW como a soma de todos os vetores one-hot codificados para as palavras individuais no texto.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@
|
|||
"\n",
|
||||
"Ao usar a camada de embedding como a primeira camada em nossa rede, podemos mudar do modelo bag-of-words para o modelo **embedding bag**, onde primeiro convertemos cada palavra em nosso texto no embedding correspondente e, em seguida, calculamos alguma função de agregação sobre todos esses embeddings, como `sum`, `average` ou `max`.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Nossa rede neural classificadora começará com uma camada de embedding, seguida por uma camada de agregação e, por fim, um classificador linear no topo:\n"
|
||||
]
|
||||
|
|
@ -176,7 +176,7 @@
|
|||
"\n",
|
||||
"Na arquitetura anterior, precisávamos preencher todas as sequências para que tivessem o mesmo comprimento, a fim de ajustá-las em um minibatch. Essa não é a maneira mais eficiente de representar sequências de comprimento variável - outra abordagem seria usar um vetor de **offset**, que armazenaria os deslocamentos de todas as sequências em um único vetor grande.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"> **Note**: Na imagem acima, mostramos uma sequência de caracteres, mas em nosso exemplo estamos trabalhando com sequências de palavras. No entanto, o princípio geral de representar sequências com um vetor de offset permanece o mesmo.\n",
|
||||
"\n",
|
||||
|
|
@ -311,7 +311,7 @@
|
|||
"\n",
|
||||
"CBoW é mais rápido, enquanto skip-gram é mais lento, mas faz um trabalho melhor ao representar palavras menos frequentes.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Para experimentar com embeddings word2vec pré-treinados no conjunto de dados Google News, podemos usar a biblioteca **gensim**. Abaixo, encontramos as palavras mais semelhantes a 'neural'.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
"\n",
|
||||
"Ao usar uma camada de embedding como a primeira camada da nossa rede, podemos mudar de um modelo de bag-of-words para um modelo de **embedding bag**, onde primeiro convertemos cada palavra do nosso texto no embedding correspondente e, em seguida, calculamos alguma função de agregação sobre todos esses embeddings, como `sum`, `average` ou `max`.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Nossa rede neural classificadora consiste nas seguintes camadas:\n",
|
||||
"\n",
|
||||
|
|
@ -283,7 +283,7 @@
|
|||
"\n",
|
||||
"CBoW é mais rápido, enquanto o skip-gram, embora mais lento, faz um trabalho melhor ao representar palavras menos frequentes.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Para experimentar o embedding Word2Vec pré-treinado no conjunto de dados do Google News, podemos usar a biblioteca **gensim**. Abaixo, encontramos as palavras mais semelhantes a 'neural'.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ Assim, a camada de embedding receberia uma palavra como entrada e produziria um
|
|||
|
||||
Ao usar uma camada de embedding como a primeira camada em nossa rede de classificação, podemos mudar de um modelo bag-of-words para um modelo **embedding bag**, onde primeiro convertemos cada palavra em nosso texto no embedding correspondente e, em seguida, calculamos alguma função agregada sobre todos esses embeddings, como `sum`, `average` ou `max`.
|
||||
|
||||

|
||||

|
||||
|
||||
> Imagem do autor
|
||||
|
||||
|
|
@ -40,7 +40,7 @@ Para isso, precisamos pré-treinar nosso modelo de embedding em uma grande cole
|
|||
|
||||
CBoW é mais rápido, enquanto skip-gram é mais lento, mas faz um trabalho melhor ao representar palavras menos frequentes.
|
||||
|
||||

|
||||

|
||||
|
||||
> Imagem retirada [deste artigo](https://arxiv.org/pdf/1301.3781.pdf)
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ Nos nossos exemplos anteriores, usamos embeddings semânticos pré-treinados, ma
|
|||
* **Continuous Bag-of-Words** (CBoW), onde prevemos o token do meio $W_0$ em uma sequência de tokens $W_{-N}$, ..., $W_N$.
|
||||
* **Skip-gram**, onde prevemos um conjunto de tokens vizinhos {$W_{-N},\dots, W_{-1}, W_1,\dots, W_N$} a partir do token do meio $W_0$.
|
||||
|
||||

|
||||

|
||||
|
||||
> Imagem retirada [deste artigo](https://arxiv.org/pdf/1301.3781.pdf)
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ Nas seções anteriores, utilizamos representações semânticas ricas de texto
|
|||
|
||||
Para capturar o significado de uma sequência de texto, precisamos usar outra arquitetura de rede neural, chamada de **rede neural recorrente**, ou RNN. Na RNN, passamos nossa frase pela rede um símbolo de cada vez, e a rede produz algum **estado**, que então passamos novamente para a rede junto com o próximo símbolo.
|
||||
|
||||

|
||||

|
||||
|
||||
> Imagem do autor
|
||||
|
||||
|
|
@ -61,7 +61,7 @@ Discutimos redes recorrentes que operam em uma direção, do início de uma sequ
|
|||
|
||||
Uma rede recorrente, seja unidirecional ou bidirecional, captura certos padrões dentro de uma sequência e pode armazená-los em um vetor de estado ou passá-los para a saída. Assim como nas redes convolucionais, podemos construir outra camada recorrente sobre a primeira para capturar padrões de nível superior e construir a partir dos padrões de baixo nível extraídos pela primeira camada. Isso nos leva à noção de uma **RNN multicamada**, que consiste em duas ou mais redes recorrentes, onde a saída da camada anterior é passada para a próxima camada como entrada.
|
||||
|
||||

|
||||

|
||||
|
||||
*Imagem retirada [deste post maravilhoso](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) de Fernando López*
|
||||
|
||||
|
|
|
|||
|
|
@ -422,7 +422,7 @@
|
|||
"\n",
|
||||
"Uma rede recorrente, seja unidirecional ou bidirecional, captura certos padrões dentro de uma sequência e pode armazená-los no vetor de estado ou passá-los para a saída. Assim como nas redes convolucionais, podemos construir outra camada recorrente sobre a primeira para capturar padrões de nível mais alto, construídos a partir de padrões de baixo nível extraídos pela primeira camada. Isso nos leva à noção de **RNN multicamada**, que consiste em duas ou mais redes recorrentes, onde a saída da camada anterior é passada para a próxima camada como entrada.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Imagem retirada [deste post maravilhoso](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) por Fernando López*\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
"\n",
|
||||
"Para capturar o significado de uma sequência de texto, usaremos uma arquitetura de rede neural chamada **rede neural recorrente**, ou RNN. Ao usar uma RNN, passamos nossa sentença pela rede um token de cada vez, e a rede produz algum **estado**, que então passamos novamente para a rede junto com o próximo token.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Dada a sequência de entrada de tokens $X_0,\\dots,X_n$, a RNN cria uma sequência de blocos de rede neural e treina essa sequência de ponta a ponta usando retropropagação. Cada bloco de rede recebe um par $(X_i,S_i)$ como entrada e produz $S_{i+1}$ como resultado. O estado final $S_n$ ou a saída $Y_n$ é enviado para um classificador linear para produzir o resultado. Todos os blocos de rede compartilham os mesmos pesos e são treinados de ponta a ponta usando uma única passagem de retropropagação.\n",
|
||||
"\n",
|
||||
|
|
@ -369,7 +369,7 @@
|
|||
"\n",
|
||||
"Redes recorrentes, sejam unidirecionais ou bidirecionais, capturam padrões dentro de uma sequência e os armazenam em vetores de estado ou os retornam como saída. Assim como nas redes convolucionais, podemos construir outra camada recorrente após a primeira para capturar padrões de nível mais alto, construídos a partir de padrões de nível mais baixo extraídos pela primeira camada. Isso nos leva à noção de uma **RNN multicamada**, que consiste em duas ou mais redes recorrentes, onde a saída da camada anterior é passada para a próxima camada como entrada.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Imagem retirada [deste post incrível](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) por Fernando López.*\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@
|
|||
"\n",
|
||||
"A maneira como treinaremos a RNN para gerar texto é a seguinte. A cada etapa, pegaremos uma sequência de caracteres de comprimento `nchars` e pediremos à rede que gere o próximo caractere de saída para cada caractere de entrada:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Dependendo do cenário real, também podemos querer incluir alguns caracteres especiais, como *fim de sequência* `<eos>`. No nosso caso, queremos apenas treinar a rede para geração contínua de texto, então fixaremos o tamanho de cada sequência para ser igual a `nchars` tokens. Consequentemente, cada exemplo de treinamento consistirá em `nchars` entradas e `nchars` saídas (que são a sequência de entrada deslocada um símbolo para a esquerda). O minibatch consistirá de várias dessas sequências.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -111,7 +111,7 @@
|
|||
"\n",
|
||||
"A maneira como treinaremos a RNN para gerar títulos de notícias é a seguinte. A cada etapa, pegaremos um título, que será alimentado em uma RNN, e para cada caractere de entrada pediremos à rede que gere o próximo caractere de saída:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Para o último caractere da nossa sequência, pediremos à rede que gere o token `<eos>`.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ Na arquitetura de RNN que discutimos na unidade anterior, cada unidade RNN produ
|
|||
|
||||
Isso permite diferentes arquiteturas neurais, como mostrado na imagem abaixo:
|
||||
|
||||

|
||||

|
||||
|
||||
> Imagem do post no blog [Unreasonable Effectiveness of Recurrent Neural Networks](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) por [Andrej Karpaty](http://karpathy.github.io/)
|
||||
|
||||
|
|
@ -32,7 +32,7 @@ Nesta unidade, focaremos em modelos generativos simples que nos ajudam a gerar t
|
|||
|
||||
Treinaremos esta RNN para gerar texto passo a passo. Em cada etapa, pegaremos uma sequência de caracteres de comprimento `nchars` e pediremos à rede que gere o próximo caractere de saída para cada caractere de entrada:
|
||||
|
||||

|
||||

|
||||
|
||||
Ao gerar texto (durante a inferência), começamos com algum **prompt**, que é passado pelas células RNN para gerar seu estado intermediário, e então a geração começa a partir desse estado. Geramos um caractere por vez e passamos o estado e o caractere gerado para outra célula RNN para gerar o próximo, até que tenhamos gerado caracteres suficientes.
|
||||
|
||||
|
|
|
|||
|
|
@ -20,13 +20,13 @@ Com RNNs, a tarefa de sequência para sequência é implementada por duas redes
|
|||
|
||||
Os **Mecanismos de Atenção** fornecem um meio de ponderar o impacto contextual de cada vetor de entrada em cada previsão de saída da RNN. Isso é implementado criando atalhos entre os estados intermediários da RNN de entrada e a RNN de saída. Dessa forma, ao gerar o símbolo de saída y<sub>t</sub>, levamos em conta todos os estados ocultos de entrada h<sub>i</sub>, com diferentes coeficientes de peso α<sub>t,i</sub>.
|
||||
|
||||

|
||||

|
||||
|
||||
> O modelo codificador-decodificador com mecanismo de atenção aditiva em [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), citado deste [post no blog](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)
|
||||
|
||||
A matriz de atenção {α<sub>i,j</sub>} representaria o grau em que certas palavras de entrada influenciam a geração de uma palavra específica na sequência de saída. Abaixo está um exemplo de tal matriz:
|
||||
|
||||

|
||||

|
||||
|
||||
> Figura de [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Fig.3)
|
||||
|
||||
|
|
@ -66,7 +66,7 @@ O resultado que obtemos com o embutimento posicional incorpora tanto o token ori
|
|||
|
||||
Em seguida, precisamos capturar alguns padrões dentro de nossa sequência. Para isso, os transformers usam um mecanismo de **autoatenção**, que é essencialmente atenção aplicada à mesma sequência como entrada e saída. Aplicar autoatenção nos permite levar em conta o **contexto** dentro da sentença e ver quais palavras estão inter-relacionadas. Por exemplo, isso nos permite identificar quais palavras são referidas por correferências, como *it* (ele/ela), e também considerar o contexto:
|
||||
|
||||

|
||||

|
||||
|
||||
> Imagem do [Blog do Google](https://research.googleblog.com/2017/08/transformer-novel-neural-network.html)
|
||||
|
||||
|
|
@ -91,7 +91,7 @@ Como cada posição de entrada é mapeada independentemente para cada posição
|
|||
|
||||
**BERT** (Bidirectional Encoder Representations from Transformers) é uma rede transformer muito grande com várias camadas: 12 camadas para o *BERT-base* e 24 para o *BERT-large*. O modelo é primeiro pré-treinado em um grande corpus de dados textuais (Wikipedia + livros) usando treinamento não supervisionado (prevendo palavras mascaradas em uma sentença). Durante o pré-treinamento, o modelo absorve níveis significativos de compreensão da linguagem, que podem ser aproveitados com outros conjuntos de dados usando ajuste fino. Esse processo é chamado de **aprendizado por transferência**.
|
||||
|
||||

|
||||

|
||||
|
||||
> Imagem [fonte](http://jalammar.github.io/illustrated-bert/)
|
||||
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@
|
|||
"\n",
|
||||
"**Mecanismos de Atenção** fornecem um meio de ponderar o impacto contextual de cada vetor de entrada em cada previsão de saída da RNN. Isso é implementado criando atalhos entre estados intermediários da RNN de entrada e da RNN de saída. Dessa forma, ao gerar o símbolo de saída $y_t$, levaremos em conta todos os estados ocultos de entrada $h_i$, com diferentes coeficientes de peso $\\alpha_{t,i}$.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*O modelo codificador-decodificador com mecanismo de atenção aditiva em [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), citado deste [post de blog](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)*\n",
|
||||
"\n",
|
||||
"A matriz de atenção $\\{\\alpha_{i,j}\\}$ representaria o grau em que certas palavras de entrada influenciam a geração de uma palavra específica na sequência de saída. Abaixo está um exemplo de tal matriz:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Figura retirada de [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Fig.3)*\n",
|
||||
"\n",
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
"\n",
|
||||
"**BERT** (Representações de Codificador Bidirecional de Transformadores) é uma rede transformadora muito grande e multilayer com 12 camadas para *BERT-base* e 24 para *BERT-large*. O modelo é primeiro pré-treinado em um grande corpus de dados de texto (WikiPedia + livros) usando treinamento não supervisionado (prevendo palavras mascaradas em uma frase). Durante o pré-treinamento, o modelo absorve um nível significativo de compreensão da linguagem, que pode ser aproveitado com outros conjuntos de dados usando ajuste fino. Esse processo é chamado de **aprendizado por transferência**.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Existem muitas variações de arquiteturas de transformadores, incluindo BERT, DistilBERT, BigBird, OpenGPT3 e outras que podem ser ajustadas. O pacote [HuggingFace](https://github.com/huggingface/) fornece um repositório para treinar muitas dessas arquiteturas com PyTorch.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@
|
|||
"\n",
|
||||
"**Mecanismos de Atenção** fornecem um meio de ponderar o impacto contextual de cada vetor de entrada em cada previsão de saída da RNN. Isso é implementado criando atalhos entre os estados intermediários da RNN de entrada e a RNN de saída. Dessa forma, ao gerar o símbolo de saída $y_t$, levaremos em conta todos os estados ocultos de entrada $h_i$, com diferentes coeficientes de peso $\\alpha_{t,i}$.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*O modelo codificador-decodificador com mecanismo de atenção aditiva em [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), citado deste [post de blog](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)*\n",
|
||||
"\n",
|
||||
"A matriz de atenção $\\{\\alpha_{i,j}\\}$ representaria o grau em que certas palavras de entrada influenciam a geração de uma determinada palavra na sequência de saída. Abaixo está um exemplo de tal matriz:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Figura retirada de [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Fig.3)*\n",
|
||||
"\n",
|
||||
|
|
@ -225,7 +225,7 @@
|
|||
"\n",
|
||||
"**BERT** (Representações de Codificadores Bidirecionais de Transformers) é uma rede transformer muito grande e multilayer, com 12 camadas para o *BERT-base* e 24 para o *BERT-large*. O modelo é inicialmente pré-treinado em um grande corpus de dados textuais (WikiPedia + livros) usando treinamento não supervisionado (prevendo palavras mascaradas em uma sentença). Durante o pré-treinamento, o modelo adquire um nível significativo de compreensão da linguagem, que pode ser aproveitado com outros conjuntos de dados por meio de ajuste fino. Esse processo é chamado de **aprendizado por transferência**.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Existem muitas variações de arquiteturas Transformer, incluindo BERT, DistilBERT, BigBird, OpenGPT3 e outras, que podem ser ajustadas.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ infant | O
|
|||
|
||||
Como precisamos construir uma correspondência um-para-um entre tokens e classes, podemos treinar um modelo neural **muitos-para-muitos** da seguinte forma:
|
||||
|
||||

|
||||

|
||||
|
||||
> *Imagem do [post no blog](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) de [Andrej Karpathy](http://karpathy.github.io/). Os modelos de classificação de tokens NER correspondem à arquitetura de rede mais à direita nesta imagem.*
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Processamento de Linguagem Natural
|
||||
|
||||

|
||||

|
||||
|
||||
Nesta seção, vamos focar no uso de Redes Neurais para lidar com tarefas relacionadas ao **Processamento de Linguagem Natural (PLN)**. Existem muitos problemas de PLN que queremos que os computadores sejam capazes de resolver:
|
||||
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ Você pode abrir um dos modelos, por exemplo **Biology → Flocking**.
|
|||
|
||||
Após abrir o modelo, você será levado à tela principal do NetLogo. Aqui está um modelo de exemplo que descreve a população de lobos e ovelhas, considerando recursos finitos (grama).
|
||||
|
||||

|
||||

|
||||
|
||||
> Captura de tela por Dmitry Soshnikov
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Visão Geral
|
||||
|
||||

|
||||

|
||||
|
||||
> Rabisco por [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ Após o sucesso dos modelos transformers na resolução de tarefas de PLN, as me
|
|||
|
||||
A ideia principal do CLIP é ser capaz de comparar descrições textuais com uma imagem e determinar o quão bem a imagem corresponde à descrição.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Imagem retirada [deste post no blog](https://openai.com/blog/clip/)*
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ Uma vez que este modelo é pré-treinado, podemos fornecer a ele um lote de imag
|
|||
|
||||
Suponha que precisamos classificar imagens entre, por exemplo, gatos, cachorros e humanos. Nesse caso, podemos fornecer ao modelo uma imagem e uma série de descrições textuais: "*uma foto de um gato*", "*uma foto de um cachorro*", "*uma foto de um humano*". No vetor resultante de 3 probabilidades, basta selecionar o índice com o maior valor.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Imagem retirada [deste post no blog](https://openai.com/blog/clip/)*
|
||||
|
||||
|
|
@ -53,13 +53,13 @@ Saiba mais sobre o VQGAN no site [Taming Transformers](https://compvis.github.io
|
|||
|
||||
Uma das diferenças importantes entre o VQGAN e um GAN tradicional é que o último pode produzir uma imagem decente a partir de qualquer vetor de entrada, enquanto o VQGAN provavelmente produzirá uma imagem incoerente. Assim, precisamos orientar ainda mais o processo de criação da imagem, e isso pode ser feito usando o CLIP.
|
||||
|
||||

|
||||

|
||||
|
||||
Para gerar uma imagem correspondente a uma descrição textual, começamos com algum vetor de codificação aleatório que é passado pelo VQGAN para produzir uma imagem. Em seguida, o CLIP é usado para produzir uma função de perda que mostra o quão bem a imagem corresponde à descrição textual. O objetivo, então, é minimizar essa perda, usando retropropagação para ajustar os parâmetros do vetor de entrada.
|
||||
|
||||
Uma ótima biblioteca que implementa o VQGAN+CLIP é o [Pixray](http://github.com/pixray/pixray).
|
||||
|
||||
 |  | 
|
||||
 |  | 
|
||||
----|----|----
|
||||
Imagem gerada a partir da descrição *um retrato em aquarela de um jovem professor de literatura com um livro* | Imagem gerada a partir da descrição *um retrato a óleo de uma jovem professora de ciência da computação com um computador* | Imagem gerada a partir da descrição *um retrato a óleo de um velho professor de matemática em frente a um quadro-negro*
|
||||
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
<!--
|
||||
CO_OP_TRANSLATOR_METADATA:
|
||||
{
|
||||
"original_hash": "4ed9993bca581850c983c95d5a3f57eb",
|
||||
"translation_date": "2025-12-25T01:17:01+00:00",
|
||||
"original_hash": "14816e97d79b296c87811724f7785923",
|
||||
"translation_date": "2026-01-01T12:51:31+00:00",
|
||||
"source_file": "README.md",
|
||||
"language_code": "cs"
|
||||
}
|
||||
-->
|
||||
[](https://github.com/microsoft/AI-For-Beginners/blob/main/LICENSE)
|
||||
[](https://github.com/microsoft/AI-For-Beginners/blob/main/LICENSE)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/graphs/contributors/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/issues/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/pulls/)
|
||||
[](http://makeapullrequest.com)
|
||||
[](http://makeapullrequest.com)
|
||||
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/watchers/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/watchers/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/network/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/stargazers/)
|
||||
[](https://mybinder.org/v2/gh/microsoft/ai-for-beginners/HEAD)
|
||||
|
|
@ -21,23 +21,24 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
|
||||
# Umělá inteligence pro začátečníky - Kurikulum
|
||||
# Umělá inteligence pro začátečníky - Učební plán
|
||||
|
||||
||
|
||||
||
|
||||
|:---:|
|
||||
| AI pro začátečníky - _Sketchnote od [@girlie_mac](https://twitter.com/girlie_mac)_ |
|
||||
| AI For Beginners - _Sketchnote od [@girlie_mac](https://twitter.com/girlie_mac)_ |
|
||||
|
||||
Prozkoumejte svět **umělé inteligence** (AI) v našem 12týdenním kurzu o 24 lekcích! Zahrnuje praktické lekce, kvízy a laboratoře. Kurz je vhodný pro začátečníky a pokrývá nástroje jako TensorFlow a PyTorch, stejně jako etiku v AI
|
||||
|
||||
Prozkoumejte svět **Umělé inteligence** (AI) s naším 12týdenním kurikulem o 24 lekcích! Zahrnuje praktické lekce, kvízy a laboratoře. Kurikulum je přátelské pro začátečníky a pokrývá nástroje jako TensorFlow a PyTorch, stejně jako etiku v AI
|
||||
|
||||
### 🌐 Vícejazyčná podpora
|
||||
|
||||
#### Podporováno pomocí GitHub Action (automatizované a vždy aktuální)
|
||||
#### Podporováno přes GitHub Action (automatizováno a vždy aktuální)
|
||||
|
||||
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
|
||||
[Arabština](../ar/README.md) | [Bengálština](../bn/README.md) | [Bulharština](../bg/README.md) | [Barmština (Myanmar)](../my/README.md) | [Čínština (zjednodušená)](../zh/README.md) | [Čínština (tradiční, Hongkong)](../hk/README.md) | [Čínština (tradiční, Macao)](../mo/README.md) | [Čínština (tradiční, Tchaj-wan)](../tw/README.md) | [Chorvatština](../hr/README.md) | [Čeština](./README.md) | [Dánština](../da/README.md) | [Nizozemština](../nl/README.md) | [Estonština](../et/README.md) | [Finština](../fi/README.md) | [Francouzština](../fr/README.md) | [Němčina](../de/README.md) | [Řečtina](../el/README.md) | [Hebrejština](../he/README.md) | [Hindština](../hi/README.md) | [Maďarština](../hu/README.md) | [Indonéština](../id/README.md) | [Italština](../it/README.md) | [Japonština](../ja/README.md) | [Kannadština](../kn/README.md) | [Korejština](../ko/README.md) | [Litevština](../lt/README.md) | [Malajština](../ms/README.md) | [malajálamština](../ml/README.md) | [Maráthština](../mr/README.md) | [Nepálština](../ne/README.md) | [Nigerijský pidžin](../pcm/README.md) | [Norština](../no/README.md) | [Perština (Farsi)](../fa/README.md) | [Polština](../pl/README.md) | [Portugalština (Brazílie)](../br/README.md) | [Portugalština (Portugalsko)](../pt/README.md) | [Paňdžábština (Gurmukhi)](../pa/README.md) | [Rumunština](../ro/README.md) | [Ruština](../ru/README.md) | [Srbština (cyrilice)](../sr/README.md) | [Slovenština](../sk/README.md) | [Slovinština](../sl/README.md) | [Španělština](../es/README.md) | [Svahilština](../sw/README.md) | [Švédština](../sv/README.md) | [Tagalog (filipínština)](../tl/README.md) | [Tamilština](../ta/README.md) | [Telugština](../te/README.md) | [Thajština](../th/README.md) | [Turečtina](../tr/README.md) | [Ukrajinština](../uk/README.md) | [Urdština](../ur/README.md) | [Vietnamština](../vi/README.md)
|
||||
[Arabština](../ar/README.md) | [Bengálština](../bn/README.md) | [Bulharština](../bg/README.md) | [Barmština (Myanmar)](../my/README.md) | [Čínština (zjednodušená)](../zh/README.md) | [Čínština (tradiční, Hongkong)](../hk/README.md) | [Čínština (tradiční, Macau)](../mo/README.md) | [Čínština (tradiční, Taiwan)](../tw/README.md) | [Chorvatština](../hr/README.md) | [Čeština](./README.md) | [Dánština](../da/README.md) | [Nizozemština](../nl/README.md) | [Estonština](../et/README.md) | [Finština](../fi/README.md) | [Francouzština](../fr/README.md) | [Němčina](../de/README.md) | [Řečtina](../el/README.md) | [Hebrejština](../he/README.md) | [Hindština](../hi/README.md) | [Maďarština](../hu/README.md) | [Indonéština](../id/README.md) | [Italština](../it/README.md) | [Japonština](../ja/README.md) | [Kannadština](../kn/README.md) | [Korejština](../ko/README.md) | [Litevština](../lt/README.md) | [Malajština](../ms/README.md) | [Malajálamština](../ml/README.md) | [Maráthština](../mr/README.md) | [Nepálština](../ne/README.md) | [Nigerijský pidžin](../pcm/README.md) | [Norština](../no/README.md) | [Perština (Farsi)](../fa/README.md) | [Polština](../pl/README.md) | [Portugalština (Brazílie)](../br/README.md) | [Portugalština (Portugalsko)](../pt/README.md) | [Paňdžábština (Gurmukhí)](../pa/README.md) | [Rumunština](../ro/README.md) | [Ruština](../ru/README.md) | [Srbština (cyrilice)](../sr/README.md) | [Slovenština](../sk/README.md) | [Slovinština](../sl/README.md) | [Španělština](../es/README.md) | [Svahilština](../sw/README.md) | [Švédština](../sv/README.md) | [Tagalog (filipínština)](../tl/README.md) | [Tamilština](../ta/README.md) | [Telugština](../te/README.md) | [Thajština](../th/README.md) | [Turečtina](../tr/README.md) | [Ukrajinština](../uk/README.md) | [Urdština](../ur/README.md) | [Vietnamština](../vi/README.md)
|
||||
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
|
||||
|
||||
**Pokud si přejete mít další překlady, podporované jazyky jsou uvedeny [zde](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
|
||||
**Pokud si přejete podporu dalších překladů, jsou jazyky uvedeny [zde](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
|
||||
|
||||
## Přidejte se ke komunitě
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
|
|
@ -46,123 +47,123 @@ Prozkoumejte svět **Umělé inteligence** (AI) s naším 12týdenním kurikulem
|
|||
|
||||
**[Myšlenková mapa kurzu](http://soshnikov.com/courses/ai-for-beginners/mindmap.html)**
|
||||
|
||||
V tomto kurzu se naučíte:
|
||||
V tomto učebním plánu se naučíte:
|
||||
|
||||
* Různé přístupy k umělé inteligenci, včetně „starého dobrého“ symbolického přístupu s **reprezentací znalostí** a odvozováním ([GOFAI](https://en.wikipedia.org/wiki/Symbolic_artificial_intelligence)).
|
||||
* **Neurální sítě** a **hluboké učení**, které jsou jádrem moderní AI. Koncepty za těmito důležitými tématy ilustrujeme pomocí kódu ve dvou z nejpopulárnějších frameworků - [TensorFlow](http://Tensorflow.org) a [PyTorch](http://pytorch.org).
|
||||
* **Neurální architektury** pro práci s obrazem a textem. Pokryjeme nedávné modely, ale můžeme být trochu pozadu oproti nejnovějšímu stavu techniky.
|
||||
* Méně populární přístupy k AI, jako jsou **genetické algoritmy** a **systémy více agentů**.
|
||||
* **Neuronové sítě** a **hluboké učení**, které jsou jádrem moderní AI. Ilustrujeme pojmy za těmito důležitými tématy pomocí kódu ve dvou z nejpopulárnějších frameworků - [TensorFlow](http://Tensorflow.org) a [PyTorch](http://pytorch.org).
|
||||
* **Neuronové architektury** pro práci s obrázky a textem. Pokryjeme nedávné modely, ale můžeme být poněkud za nejnovějším stavem techniky.
|
||||
* Méně populární přístupy k AI, jako **genetické algoritmy** a **multiagentní systémy**.
|
||||
|
||||
Co v tomto kurzu nebudeme pokrývat:
|
||||
Co v tomto učebním plánu nezahrnujeme:
|
||||
|
||||
> [Najděte všechny další zdroje pro tento kurz v naší kolekci Microsoft Learn](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)
|
||||
> [Najděte všechny dodatečné zdroje pro tento kurz v naší sbírce Microsoft Learn](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)
|
||||
|
||||
* Obchodní případy využití **AI v podnikání**. Zvažte absolvování learning path [Introduction to AI for business users](https://docs.microsoft.com/learn/paths/introduction-ai-for-business-users/?WT.mc_id=academic-77998-bethanycheum) na Microsoft Learn, nebo [AI Business School](https://www.microsoft.com/ai/ai-business-school/?WT.mc_id=academic-77998-bethanycheum), vyvinutého ve spolupráci s [INSEAD](https://www.insead.edu/).
|
||||
* **Klasické strojové učení**, které je dobře popsáno v našem [Machine Learning for Beginners Curriculum](http://github.com/Microsoft/ML-for-Beginners).
|
||||
* Praktické AI aplikace postavené pomocí **[Cognitive Services](https://azure.microsoft.com/services/cognitive-services/?WT.mc_id=academic-77998-bethanycheum)**. Pro to doporučujeme začít moduly Microsoft Learn pro [vision](https://docs.microsoft.com/learn/paths/create-computer-vision-solutions-azure-cognitive-services/?WT.mc_id=academic-77998-bethanycheum), [natural language processing](https://docs.microsoft.com/learn/paths/explore-natural-language-processing/?WT.mc_id=academic-77998-bethanycheum), **[Generative AI with Azure OpenAI Service](https://learn.microsoft.com/en-us/training/paths/develop-ai-solutions-azure-openai/?WT.mc_id=academic-77998-bethanycheum)** a další.
|
||||
* Specifické ML **cloudové frameworky**, jako [Azure Machine Learning](https://azure.microsoft.com/services/machine-learning/?WT.mc_id=academic-77998-bethanycheum), [Microsoft Fabric](https://learn.microsoft.com/en-us/training/paths/get-started-fabric/?WT.mc_id=academic-77998-bethanycheum), nebo [Azure Databricks](https://docs.microsoft.com/learn/paths/data-engineer-azure-databricks?WT.mc_id=academic-77998-bethanycheum). Zvažte použití learning path [Build and operate machine learning solutions with Azure Machine Learning](https://docs.microsoft.com/learn/paths/build-ai-solutions-with-azure-ml-service/?WT.mc_id=academic-77998-bethanycheum) a [Build and Operate Machine Learning Solutions with Azure Databricks](https://docs.microsoft.com/learn/paths/build-operate-machine-learning-solutions-azure-databricks/?WT.mc_id=academic-77998-bethanycheum).
|
||||
* **Konverzační AI** a **chatboti**. Existuje samostatný learning path [Create conversational AI solutions](https://docs.microsoft.com/learn/paths/create-conversational-ai-solutions/?WT.mc_id=academic-77998-bethanycheum), a můžete se také odkazovat na [tento blogový příspěvek](https://soshnikov.com/azure/hello-bot-conversational-ai-on-microsoft-platform/) pro více podrobností.
|
||||
* **Hluboká matematika** za hlubokým učením. Pro to doporučujeme [Deep Learning](https://www.amazon.com/Deep-Learning-Adaptive-Computation-Machine/dp/0262035618) od Iana Goodfellowa, Yoshuy Bengia a Aarona Courvilla, která je také dostupná online na [https://www.deeplearningbook.org/](https://www.deeplearningbook.org/).
|
||||
* Podnikové případy použití **AI v podnikání**. Zvažte absolvování výukové cesty [Úvod do AI pro obchodní uživatele](https://docs.microsoft.com/learn/paths/introduction-ai-for-business-users/?WT.mc_id=academic-77998-bethanycheum) na Microsoft Learn, nebo [AI Business School](https://www.microsoft.com/ai/ai-business-school/?WT.mc_id=academic-77998-bethanycheum), vyvinutou ve spolupráci s [INSEAD](https://www.insead.edu/).
|
||||
* **Klasické strojové učení**, které je dobře popsáno v našem [Učebním plánu Strojového učení pro začátečníky](http://github.com/Microsoft/ML-for-Beginners).
|
||||
* Praktické AI aplikace vytvořené pomocí **[Cognitive Services](https://azure.microsoft.com/services/cognitive-services/?WT.mc_id=academic-77998-bethanycheum)**. Doporučujeme začít moduly Microsoft Learn pro [počítačové vidění](https://docs.microsoft.com/learn/paths/create-computer-vision-solutions-azure-cognitive-services/?WT.mc_id=academic-77998-bethanycheum), [zpracování přirozeného jazyka](https://docs.microsoft.com/learn/paths/explore-natural-language-processing/?WT.mc_id=academic-77998-bethanycheum), **[Generative AI with Azure OpenAI Service](https://learn.microsoft.com/en-us/training/paths/develop-ai-solutions-azure-openai/?WT.mc_id=academic-77998-bethanycheum)** a další.
|
||||
* Konkrétní ML **cloudové frameworky**, jako [Azure Machine Learning](https://azure.microsoft.com/services/machine-learning/?WT.mc_id=academic-77998-bethanycheum), [Microsoft Fabric](https://learn.microsoft.com/en-us/training/paths/get-started-fabric/?WT.mc_id=academic-77998-bethanycheum), nebo [Azure Databricks](https://docs.microsoft.com/learn/paths/data-engineer-azure-databricks?WT.mc_id=academic-77998-bethanycheum). Zvažte použití výukových cest [Build and operate machine learning solutions with Azure Machine Learning](https://docs.microsoft.com/learn/paths/build-ai-solutions-with-azure-ml-service/?WT.mc_id=academic-77998-bethanycheum) a [Build and Operate Machine Learning Solutions with Azure Databricks](https://docs.microsoft.com/learn/paths/build-operate-machine-learning-solutions-azure-databricks/?WT.mc_id=academic-77998-bethanycheum).
|
||||
* **Konverzační AI** a **chatboti**. Existuje samostatná výuková cesta [Create conversational AI solutions](https://docs.microsoft.com/learn/paths/create-conversational-ai-solutions/?WT.mc_id=academic-77998-bethanycheum), a také se můžete odkazovat na [tento blogový příspěvek](https://soshnikov.com/azure/hello-bot-conversational-ai-on-microsoft-platform/) pro další informace.
|
||||
* **Hluboká matematika** stojící za hlubokým učením. Doporučujeme knihu [Deep Learning](https://www.amazon.com/Deep-Learning-Adaptive-Computation-Machine/dp/0262035618) od Ian Goodfellow, Yoshua Bengio a Aaron Courville, která je také dostupná online na [https://www.deeplearningbook.org/](https://www.deeplearningbook.org/).
|
||||
|
||||
Pro jemný úvod do témat _AI v cloudu_ můžete zvážit absolvování learning path [Get started with artificial intelligence on Azure](https://docs.microsoft.com/learn/paths/get-started-with-artificial-intelligence-on-azure/?WT.mc_id=academic-77998-bethanycheum).
|
||||
Pro jemný úvod do témat _AI v cloudu_ můžete zvážit absolvování výukové cesty [Get started with artificial intelligence on Azure](https://docs.microsoft.com/learn/paths/get-started-with-artificial-intelligence-on-azure/?WT.mc_id=academic-77998-bethanycheum).
|
||||
|
||||
# Obsah
|
||||
|
||||
| | Odkaz na lekci | PyTorch/Keras/TensorFlow | Laboratoř |
|
||||
| :-: | :------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------: | ------------------------------------------------------------------------------ |
|
||||
| 0 | [Nastavení kurzu](./lessons/0-course-setup/setup.md) | [Nastavte své vývojové prostředí](./lessons/0-course-setup/how-to-run.md) | |
|
||||
| 0 | [Nastavení kurzu](./lessons/0-course-setup/setup.md) | [Nastavení vývojového prostředí](./lessons/0-course-setup/how-to-run.md) | |
|
||||
| I | [**Úvod do AI**](./lessons/1-Intro/README.md) | | |
|
||||
| 01 | [Úvod a historie AI](./lessons/1-Intro/README.md) | - | - |
|
||||
| II | **Symbolická AI** |
|
||||
| 02 | [Reprezentace znalostí a expertní systémy](./lessons/2-Symbolic/README.md) | [Expertní systémy](./lessons/2-Symbolic/Animals.ipynb) / [Ontologie](./lessons/2-Symbolic/FamilyOntology.ipynb) /[Konceptuální graf](./lessons/2-Symbolic/MSConceptGraph.ipynb) | |
|
||||
| III | [**Úvod do neurálních sítí**](./lessons/3-NeuralNetworks/README.md) |||
|
||||
| 03 | [Perceptron](./lessons/3-NeuralNetworks/03-Perceptron/README.md) | [Notebook](./lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb) | [Lab](./lessons/3-NeuralNetworks/03-Perceptron/lab/README.md) |
|
||||
| 04 | [Vícevrstvý perceptron a vytvoření vlastního frameworku](./lessons/3-NeuralNetworks/04-OwnFramework/README.md) | [Notebook](./lessons/3-NeuralNetworks/04-OwnFramework/OwnFramework.ipynb) | [Lab](./lessons/3-NeuralNetworks/04-OwnFramework/lab/README.md) |
|
||||
| 05 | [Úvod do frameworků (PyTorch/TensorFlow) a přeučení](./lessons/3-NeuralNetworks/05-Frameworks/README.md) | [PyTorch](./lessons/3-NeuralNetworks/05-Frameworks/IntroPyTorch.ipynb) / [Keras](./lessons/3-NeuralNetworks/05-Frameworks/IntroKeras.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [Lab](./lessons/3-NeuralNetworks/05-Frameworks/lab/README.md) |
|
||||
| 02 | [Reprezentace znalostí a expertní systémy](./lessons/2-Symbolic/README.md) | [Expertní systémy](./lessons/2-Symbolic/Animals.ipynb) / [Ontologie](./lessons/2-Symbolic/FamilyOntology.ipynb) /[Konceptový graf](./lessons/2-Symbolic/MSConceptGraph.ipynb) | |
|
||||
| III | [**Úvod do neuronových sítí**](./lessons/3-NeuralNetworks/README.md) |||
|
||||
| 03 | [Perceptron](./lessons/3-NeuralNetworks/03-Perceptron/README.md) | [Notebook](./lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb) | [Cvičení](./lessons/3-NeuralNetworks/03-Perceptron/lab/README.md) |
|
||||
| 04 | [Vícevrstvý perceptron a vytvoření vlastního frameworku](./lessons/3-NeuralNetworks/04-OwnFramework/README.md) | [Notebook](./lessons/3-NeuralNetworks/04-OwnFramework/OwnFramework.ipynb) | [Cvičení](./lessons/3-NeuralNetworks/04-OwnFramework/lab/README.md) |
|
||||
| 05 | [Úvod do frameworků (PyTorch/TensorFlow) a přeučení](./lessons/3-NeuralNetworks/05-Frameworks/README.md) | [PyTorch](./lessons/3-NeuralNetworks/05-Frameworks/IntroPyTorch.ipynb) / [Keras](./lessons/3-NeuralNetworks/05-Frameworks/IntroKeras.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [Cvičení](./lessons/3-NeuralNetworks/05-Frameworks/lab/README.md) |
|
||||
| IV | [**Počítačové vidění**](./lessons/4-ComputerVision/README.md) | [PyTorch](https://docs.microsoft.com/learn/modules/intro-computer-vision-pytorch/?WT.mc_id=academic-77998-cacaste) / [TensorFlow](https://docs.microsoft.com/learn/modules/intro-computer-vision-TensorFlow/?WT.mc_id=academic-77998-cacaste)| [Prozkoumejte počítačové vidění na Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) |
|
||||
| 06 | [Úvod do počítačového vidění. OpenCV](./lessons/4-ComputerVision/06-IntroCV/README.md) | [Notebook](./lessons/4-ComputerVision/06-IntroCV/OpenCV.ipynb) | [Lab](./lessons/4-ComputerVision/06-IntroCV/lab/README.md) |
|
||||
| 07 | [Konvoluční neuronové sítě](./lessons/4-ComputerVision/07-ConvNets/README.md) & [Architektury CNN](./lessons/4-ComputerVision/07-ConvNets/CNN_Architectures.md) | [PyTorch](./lessons/4-ComputerVision/07-ConvNets/ConvNetsPyTorch.ipynb) /[TensorFlow](./lessons/4-ComputerVision/07-ConvNets/ConvNetsTF.ipynb) | [Lab](./lessons/4-ComputerVision/07-ConvNets/lab/README.md) |
|
||||
| 08 | [Předtrénované sítě a přenosové učení](./lessons/4-ComputerVision/08-TransferLearning/README.md) and [Triky při trénování](./lessons/4-ComputerVision/08-TransferLearning/TrainingTricks.md) | [PyTorch](./lessons/4-ComputerVision/08-TransferLearning/TransferLearningPyTorch.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [Lab](./lessons/4-ComputerVision/08-TransferLearning/lab/README.md) |
|
||||
| 06 | [Úvod do počítačového vidění. OpenCV](./lessons/4-ComputerVision/06-IntroCV/README.md) | [Notebook](./lessons/4-ComputerVision/06-IntroCV/OpenCV.ipynb) | [Cvičení](./lessons/4-ComputerVision/06-IntroCV/lab/README.md) |
|
||||
| 07 | [Konvoluční neuronové sítě](./lessons/4-ComputerVision/07-ConvNets/README.md) & [Architektury CNN](./lessons/4-ComputerVision/07-ConvNets/CNN_Architectures.md) | [PyTorch](./lessons/4-ComputerVision/07-ConvNets/ConvNetsPyTorch.ipynb) /[TensorFlow](./lessons/4-ComputerVision/07-ConvNets/ConvNetsTF.ipynb) | [Cvičení](./lessons/4-ComputerVision/07-ConvNets/lab/README.md) |
|
||||
| 08 | [Předtrénované sítě a transfer learning](./lessons/4-ComputerVision/08-TransferLearning/README.md) and [Tréninkové triky](./lessons/4-ComputerVision/08-TransferLearning/TrainingTricks.md) | [PyTorch](./lessons/4-ComputerVision/08-TransferLearning/TransferLearningPyTorch.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [Cvičení](./lessons/4-ComputerVision/08-TransferLearning/lab/README.md) |
|
||||
| 09 | [Autoenkodéry a VAE](./lessons/4-ComputerVision/09-Autoencoders/README.md) | [PyTorch](./lessons/4-ComputerVision/09-Autoencoders/AutoEncodersPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/09-Autoencoders/AutoencodersTF.ipynb) | |
|
||||
| 10 | [Generativní adversariální sítě a přenos uměleckého stylu](./lessons/4-ComputerVision/10-GANs/README.md) | [PyTorch](./lessons/4-ComputerVision/10-GANs/GANPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/10-GANs/GANTF.ipynb) | |
|
||||
| 11 | [Detekce objektů](./lessons/4-ComputerVision/11-ObjectDetection/README.md) | [TensorFlow](./lessons/4-ComputerVision/11-ObjectDetection/ObjectDetection.ipynb) | [Lab](./lessons/4-ComputerVision/11-ObjectDetection/lab/README.md) |
|
||||
| 10 | [Generativní adversariální sítě & přenos uměleckého stylu](./lessons/4-ComputerVision/10-GANs/README.md) | [PyTorch](./lessons/4-ComputerVision/10-GANs/GANPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/10-GANs/GANTF.ipynb) | |
|
||||
| 11 | [Detekce objektů](./lessons/4-ComputerVision/11-ObjectDetection/README.md) | [TensorFlow](./lessons/4-ComputerVision/11-ObjectDetection/ObjectDetection.ipynb) | [Cvičení](./lessons/4-ComputerVision/11-ObjectDetection/lab/README.md) |
|
||||
| 12 | [Sémantická segmentace. U-Net](./lessons/4-ComputerVision/12-Segmentation/README.md) | [PyTorch](./lessons/4-ComputerVision/12-Segmentation/SemanticSegmentationPytorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/12-Segmentation/SemanticSegmentationTF.ipynb) | |
|
||||
| V | [**Zpracování přirozeného jazyka**](./lessons/5-NLP/README.md) | [PyTorch](https://docs.microsoft.com/learn/modules/intro-natural-language-processing-pytorch/?WT.mc_id=academic-77998-cacaste) /[TensorFlow](https://docs.microsoft.com/learn/modules/intro-natural-language-processing-TensorFlow/?WT.mc_id=academic-77998-cacaste) | [Prozkoumejte zpracování přirozeného jazyka na Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)|
|
||||
| 13 | [Reprezentace textu. BoW/TF-IDF](./lessons/5-NLP/13-TextRep/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationTF.ipynb) | |
|
||||
| 13 | [Reprezentace textu. Bow/TF-IDF](./lessons/5-NLP/13-TextRep/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationTF.ipynb) | |
|
||||
| 14 | [Sémantické vektorové reprezentace slov. Word2Vec a GloVe](./lessons/5-NLP/14-Embeddings/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/14-Embeddings/EmbeddingsPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/14-Embeddings/EmbeddingsTF.ipynb) | |
|
||||
| 15 | [Modelování jazyka. Trénování vlastních embeddingů](./lessons/5-NLP/15-LanguageModeling/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-PyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-TF.ipynb) | [Lab](./lessons/5-NLP/15-LanguageModeling/lab/README.md) |
|
||||
| 15 | [Jazykové modelování. Trénování vlastních embeddingů](./lessons/5-NLP/15-LanguageModeling/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-PyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-TF.ipynb) | [Cvičení](./lessons/5-NLP/15-LanguageModeling/lab/README.md) |
|
||||
| 16 | [Rekurentní neuronové sítě](./lessons/5-NLP/16-RNN/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/16-RNN/RNNPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/16-RNN/RNNTF.ipynb) | |
|
||||
| 17 | [Generativní rekurentní sítě](./lessons/5-NLP/17-GenerativeNetworks/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/17-GenerativeNetworks/GenerativePyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/17-GenerativeNetworks/GenerativeTF.ipynb) | [Lab](./lessons/5-NLP/17-GenerativeNetworks/lab/README.md) |
|
||||
| 17 | [Generativní rekurentní sítě](./lessons/5-NLP/17-GenerativeNetworks/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/17-GenerativeNetworks/GenerativePyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/17-GenerativeNetworks/GenerativeTF.ipynb) | [Cvičení](./lessons/5-NLP/17-GenerativeNetworks/lab/README.md) |
|
||||
| 18 | [Transformery. BERT.](./lessons/5-NLP/18-Transformers/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/18-Transformers/TransformersPyTorch.ipynb) /[TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/18-Transformers/TransformersTF.ipynb) | |
|
||||
| 19 | [Rozpoznávání pojmenovaných entit](./lessons/5-NLP/19-NER/README.md) | [TensorFlow](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/19-NER/NER-TF.ipynb) | [Lab](./lessons/5-NLP/19-NER/lab/README.md) |
|
||||
| 19 | [Rozpoznávání pojmenovaných entit](./lessons/5-NLP/19-NER/README.md) | [TensorFlow](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/19-NER/NER-TF.ipynb) | [Cvičení](./lessons/5-NLP/19-NER/lab/README.md) |
|
||||
| 20 | [Velké jazykové modely, programování promptů a few-shot úlohy](./lessons/5-NLP/20-LangModels/README.md) | [PyTorch](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/20-LangModels/GPT-PyTorch.ipynb) | |
|
||||
| VI | **Další techniky AI** || |
|
||||
| 21 | [Genetické algoritmy](./lessons/6-Other/21-GeneticAlgorithms/README.md) | [Notebook](./lessons/6-Other/21-GeneticAlgorithms/Genetic.ipynb) | |
|
||||
| 22 | [Hluboké posilované učení](./lessons/6-Other/22-DeepRL/README.md) | [PyTorch](./lessons/6-Other/22-DeepRL/CartPole-RL-PyTorch.ipynb) /[TensorFlow](./lessons/6-Other/22-DeepRL/CartPole-RL-TF.ipynb) | [Lab](./lessons/6-Other/22-DeepRL/lab/README.md) |
|
||||
| 22 | [Hluboké posilované učení](./lessons/6-Other/22-DeepRL/README.md) | [PyTorch](./lessons/6-Other/22-DeepRL/CartPole-RL-PyTorch.ipynb) /[TensorFlow](./lessons/6-Other/22-DeepRL/CartPole-RL-TF.ipynb) | [Cvičení](./lessons/6-Other/22-DeepRL/lab/README.md) |
|
||||
| 23 | [Systémy více agentů](./lessons/6-Other/23-MultiagentSystems/README.md) | | |
|
||||
| VII | **Etika AI** | | |
|
||||
| 24 | [Etika AI a odpovědná AI](./lessons/7-Ethics/README.md) | [Microsoft Learn: Responsible AI Principles](https://docs.microsoft.com/learn/paths/responsible-ai-business-principles/?WT.mc_id=academic-77998-cacaste) | |
|
||||
| 24 | [Etika AI a odpovědné AI](./lessons/7-Ethics/README.md) | [Microsoft Learn: Responsible AI Principles](https://docs.microsoft.com/learn/paths/responsible-ai-business-principles/?WT.mc_id=academic-77998-cacaste) | |
|
||||
| IX | **Doplňky** | | |
|
||||
| 25 | [Multimodální sítě, CLIP a VQGAN](./lessons/X-Extras/X1-MultiModal/README.md) | [Notebook](./lessons/X-Extras/X1-MultiModal/Clip.ipynb) | |
|
||||
|
||||
## Každá lekce obsahuje
|
||||
|
||||
* Materiály k předčtení
|
||||
* Spustitelné Jupyter Notebooky, které jsou často specifické pro framework (**PyTorch** nebo **TensorFlow**). Spustitelný notebook také obsahuje mnoho teoretického materiálu, takže pro pochopení tématu je třeba projít alespoň jednu verzi notebooku (buď PyTorch nebo TensorFlow).
|
||||
* Některé lekce obsahují **Lab** dostupné u vybraných témat, které vám dávají příležitost vyzkoušet aplikovat naučený materiál na konkrétní problém.
|
||||
* Některé sekce obsahují odkazy na moduly [**MS Learn**](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum), které pokrývají související témata.
|
||||
* Materiál k předčtení
|
||||
* Spustitelné Jupyter Notebooky, které jsou často specifické pro framework (**PyTorch** nebo **TensorFlow**). Spustitelný notebook také obsahuje spoustu teoretického materiálu, takže pro pochopení tématu je třeba projít alespoň jednu verzi notebooku (buď PyTorch nebo TensorFlow).
|
||||
* **Cvičení** dostupná u některých témat, která vám dávají příležitost vyzkoušet aplikaci naučeného materiálu na konkrétní problém.
|
||||
* Některé části obsahují odkazy na moduly [**MS Learn**](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum), které pokrývají související témata.
|
||||
|
||||
## Začínáme
|
||||
|
||||
### 🎯 Jste v AI úplně nový? Začněte zde!
|
||||
### 🎯 Jste v AI nováček? Začněte zde!
|
||||
|
||||
Pokud jste v AI úplně nový a chcete rychlé, praktické ukázky, podívejte se na naše [**Příklady pro začátečníky**](./examples/README.md)! Mezi nimi najdete:
|
||||
Pokud jste v AI úplný začátečník a chcete rychlé praktické příklady, podívejte se na naše [**Příklady pro začátečníky**](./examples/README.md)! Ty obsahují:
|
||||
|
||||
- 🌟 **Hello AI World** - Váš první AI program (rozpoznávání vzorů)
|
||||
- 🧠 **Simple Neural Network** - Postavte neuronovou síť od začátku
|
||||
- 🖼️ **Image Classifier** - Klasifikujte obrázky s podrobnými komentáři
|
||||
- 💬 **Text Sentiment** - Analyzovat pozitivní/negativní text
|
||||
- 🧠 **Jednoduchá neuronová síť** - Vytvořte neuronovou síť od nuly
|
||||
- 🖼️ **Klasifikátor obrázků** - Klasifikujte obrázky s podrobnými komentáři
|
||||
- 💬 **Sentiment textu** - Analyzovat pozitivní/negativní text
|
||||
|
||||
Tyto příklady jsou navrženy tak, aby vám pomohly pochopit koncepty AI před zahájením celého kurikula.
|
||||
Tyto příklady jsou navrženy tak, aby vám pomohly porozumět konceptům AI před ponořením se do celého kurikula.
|
||||
|
||||
### 📚 Nastavení kompletního kurikula
|
||||
### 📚 Nastavení celého kurikula
|
||||
|
||||
- Vytvořili jsme [setup lesson](./lessons/0-course-setup/setup.md), který vám pomůže s nastavením vývojového prostředí. - Pro pedagogy jsme také vytvořili [curricula setup lesson](./lessons/0-course-setup/for-teachers.md)!
|
||||
- Vytvořili jsme [lekci pro nastavení](./lessons/0-course-setup/setup.md), která vám pomůže s nastavením vývojového prostředí. - Pro pedagogy jsme také vytvořili [lekci nastavení kurikula](./lessons/0-course-setup/for-teachers.md)!
|
||||
- Jak [spustit kód ve VSCode nebo Codepace](./lessons/0-course-setup/how-to-run.md)
|
||||
|
||||
Postupujte podle těchto kroků:
|
||||
|
||||
Fork the Repository: Click on the "Fork" button at the top-right corner of this page.
|
||||
Fork the Repository: Klikněte na tlačítko "Fork" v pravém horním rohu této stránky.
|
||||
|
||||
Clone the Repository: `git clone https://github.com/microsoft/AI-For-Beginners.git`
|
||||
|
||||
Nezapomeňte tomuto repozitáři dát hvězdičku (🌟), abyste ho později snáze našli.
|
||||
Nezapomeňte tomuto repozitáři udělit hvězdičku (🌟), aby ho bylo později snazší najít.
|
||||
|
||||
## Poznejte ostatní studenty
|
||||
## Seznamte se s ostatními studenty
|
||||
|
||||
Připojte se k našemu [oficiálnímu AI Discord serveru](https://aka.ms/genai-discord?WT.mc_id=academic-105485-bethanycheum), abyste se seznámili a navázali kontakt s ostatními studenty tohoto kurzu a získali podporu.
|
||||
Připojte se k našemu [oficiálnímu Discord serveru AI](https://aka.ms/genai-discord?WT.mc_id=academic-105485-bethanycheum), abyste se setkali a navázali kontakty s ostatními studenty tohoto kurzu a získali podporu.
|
||||
|
||||
Pokud máte zpětnou vazbu k produktu nebo dotazy během tvorby, navštivte naše [Azure AI Foundry Developer Forum](https://aka.ms/foundry/forum)
|
||||
Pokud máte zpětnou vazbu k produktu nebo dotazy během vývoje, navštivte náš [Azure AI Foundry Developer Forum](https://aka.ms/foundry/forum)
|
||||
|
||||
## Kvízy
|
||||
|
||||
> **Poznámka o kvízech**: Všechny kvízy jsou obsaženy ve složce Quiz-app v etc\quiz-app, nebo [Online zde](https://ff-quizzes.netlify.app/) Jsou propojeny z lekcí; aplikaci kvízů lze spustit lokálně nebo nasadit do Azure; postupujte podle pokynů ve složce `quiz-app`. Postupně se lokalizují.
|
||||
> **Poznámka o kvízech**: Všechny kvízy jsou umístěny ve složce Quiz-app v etc\quiz-app, nebo [Online zde](https://ff-quizzes.netlify.app/) Jsou propojeny z lekcí; aplikaci kvízů lze spustit lokálně nebo nasadit do Azure; postupujte podle instrukcí ve složce `quiz-app`. Postupně jsou lokalizovány.
|
||||
|
||||
## Potřebujeme pomoc
|
||||
|
||||
Máte návrhy nebo jste našli překlepy či chyby v kódu? Vytvořte issue nebo pull request.
|
||||
Máte návrhy nebo jste našli překlepy či chyby v kódu? Otevřete issue nebo vytvořte pull request.
|
||||
|
||||
## Zvláštní poděkování
|
||||
|
||||
* **✍️ Hlavní autor:** [Dmitry Soshnikov](http://soshnikov.com), PhD
|
||||
* **🔥 Editor:** [Jen Looper](https://twitter.com/jenlooper), PhD
|
||||
* **🎨 Ilustrátor sketchnotů:** [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
* **🎨 Ilustrátorka sketchnotů:** [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
* **✅ Tvůrce kvízů:** [Lateefah Bello](https://github.com/CinnamonXI), [MLSA](https://studentambassadors.microsoft.com/)
|
||||
* **🙏 Hlavní přispěvatelé:** [Evgenii Pishchik](https://github.com/Pe4enIks)
|
||||
|
||||
## Další kurikula
|
||||
|
||||
Náš tým vytváří další kurikula! Podívejte se na:
|
||||
Náš tým vytváří i další kurikula! Podívejte se na:
|
||||
|
||||
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
|
||||
### LangChain
|
||||
|
|
@ -175,48 +176,48 @@ Náš tým vytváří další kurikula! Podívejte se na:
|
|||
[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
|
||||
---
|
||||
|
||||
### Série generativního AI
|
||||
[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
|
||||
[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
|
||||
[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
|
||||
### Série Generativního AI
|
||||
[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
|
||||
[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
|
||||
[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
|
||||
|
||||
---
|
||||
|
||||
### Základní kurzy
|
||||
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
### Základní výuka
|
||||
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
|
||||
[](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
|
||||
---
|
||||
|
||||
### Série Copilot
|
||||
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
|
||||
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
|
||||
|
||||
## Získat pomoc
|
||||
## Získání pomoci
|
||||
|
||||
Pokud se zaseknete nebo máte otázky ohledně vytváření AI aplikací, připojte se ke spolužákům a zkušeným vývojářům v diskuzích o MCP. Je to podpůrná komunita, kde jsou otázky vítány a znalosti se sdílejí volně.
|
||||
Pokud se zaseknete nebo máte dotazy ohledně vývoje AI aplikací, připojte se ke komunitě ostatních studentů a zkušených vývojářů v diskuzích o MCP. Je to podpůrná komunita, kde jsou otázky vítány a znalosti se sdílejí volně.
|
||||
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
|
||||
Pokud máte zpětnou vazbu k produktu nebo chyby během vývoje, navštivte:
|
||||
Pokud máte zpětnou vazbu k produktu nebo narazíte na chyby při vývoji, navštivte:
|
||||
|
||||
[](https://aka.ms/foundry/forum)
|
||||
[](https://aka.ms/foundry/forum)
|
||||
|
||||
---
|
||||
|
||||
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
|
||||
Prohlášení o vyloučení odpovědnosti:
|
||||
Tento dokument byl přeložen pomocí automatizované překladatelské služby [Co-op Translator](https://github.com/Azure/co-op-translator). Ačkoliv usilujeme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Originální dokument v jeho původním jazyce by měl být považován za rozhodující zdroj. U kritických informací se doporučuje profesionální lidský překlad. Nejsme odpovědní za žádná nedorozumění nebo mylné výklady vyplývající z použití tohoto překladu.
|
||||
Tento dokument byl přeložen pomocí AI překladatelské služby [Co-op Translator](https://github.com/Azure/co-op-translator). I když se snažíme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Originální dokument v jeho původním jazyce by měl být považován za závazný zdroj. Pro zásadní informace se doporučuje profesionální lidský překlad. Nejsme odpovědní za žádná nedorozumění ani chybné výklady vzniklé v důsledku použití tohoto překladu.
|
||||
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
|
||||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Úvod do AI
|
||||
|
||||

|
||||

|
||||
|
||||
> Kresba od [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
|
|
@ -19,7 +19,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
Původně byly počítače vynalezeny [Charlesem Babbagem](https://en.wikipedia.org/wiki/Charles_Babbage) k práci s čísly podle přesně definovaného postupu – algoritmu. Moderní počítače, i když jsou mnohem pokročilejší než původní model navržený v 19. století, stále vycházejí ze stejné myšlenky řízených výpočtů. Proto je možné naprogramovat počítač, aby něco vykonal, pokud známe přesnou posloupnost kroků, které je třeba provést k dosažení cíle.
|
||||
|
||||

|
||||

|
||||
|
||||
> Foto od [Vickie Soshnikova](http://twitter.com/vickievalerie)
|
||||
|
||||
|
|
@ -46,7 +46,7 @@ Pro více informací se podívejte na **[Obecná umělá inteligence](https://en
|
|||
|
||||
Jedním z problémů při práci s termínem **[inteligence](https://en.wikipedia.org/wiki/Intelligence)** je, že neexistuje jasná definice tohoto pojmu. Lze argumentovat, že inteligence souvisí s **abstraktním myšlením** nebo **sebeuvědoměním**, ale nemůžeme ji přesně definovat.
|
||||
|
||||

|
||||

|
||||
|
||||
> [Foto](https://unsplash.com/photos/75715CVEJhI) od [Amber Kipp](https://unsplash.com/@sadmax) z Unsplash
|
||||
|
||||
|
|
@ -98,13 +98,13 @@ Alternativně můžeme zkusit modelovat nejjednodušší prvky uvnitř našeho m
|
|||
|
||||
> | Co je ML? | |
|
||||
> |--------------|-----------|
|
||||
> | Část umělé inteligence, která je založena na tom, že se počítač učí řešit problém na základě určitých dat, se nazývá **strojové učení**. V tomto kurzu se nebudeme zabývat klasickým strojovým učením – odkazujeme vás na samostatný [kurikulum Strojové učení pro začátečníky](http://aka.ms/ml-beginners). |  |
|
||||
> | Část umělé inteligence, která je založena na tom, že se počítač učí řešit problém na základě určitých dat, se nazývá **strojové učení**. V tomto kurzu se nebudeme zabývat klasickým strojovým učením – odkazujeme vás na samostatný [kurikulum Strojové učení pro začátečníky](http://aka.ms/ml-beginners). |  |
|
||||
|
||||
## Stručná historie AI
|
||||
|
||||
Umělá inteligence vznikla jako obor v polovině 20. století. Zpočátku byl převládajícím přístupem symbolický přístup, který vedl k řadě důležitých úspěchů, jako byly expertní systémy – počítačové programy, které dokázaly fungovat jako odborník v některých omezených oblastech problémů. Brzy se však ukázalo, že tento přístup není dobře škálovatelný. Extrakce znalostí od experta, jejich reprezentace v počítači a udržování této znalostní báze přesné se ukázalo být velmi složitým úkolem a v mnoha případech příliš nákladným na to, aby bylo praktické. To vedlo k takzvané [AI zimě](https://en.wikipedia.org/wiki/AI_winter) v 70. letech.
|
||||
|
||||
<img alt="Stručná historie AI" src="../../../../translated_images/history-of-ai.7e83efa70b537f5a0264357672b0884cf3a220fbafe35c65d70b2c3805f7bf5e.cs.png" width="70%"/>
|
||||
<img alt="Stručná historie AI" src="../../../../translated_images/history-of-ai.7e83efa70b537f5a.cs.png" width="70%"/>
|
||||
|
||||
> Obrázek od [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
@ -124,7 +124,7 @@ Podobně můžeme vidět, jak se přístup k vytváření „mluvících program
|
|||
* Moderní asistenti, jako Cortana, Siri nebo Google Assistant, jsou všechny hybridní systémy, které používají neuronové sítě k převodu řeči na text a rozpoznání našeho záměru, a poté využívají určité uvažování nebo explicitní algoritmy k provedení požadovaných akcí.
|
||||
* V budoucnu můžeme očekávat kompletní model založený na neuronových sítích, který bude sám zvládat dialog. Nedávné GPT a [Turing-NLG](https://www.microsoft.com/research/blog/turing-nlg-a-17-billion-parameter-language-model-by-microsoft) rodiny neuronových sítí ukazují velký úspěch v tomto směru.
|
||||
|
||||
<img alt="evoluce Turingova testu" src="../../../../translated_images/turing-test-evol.4184696701293ead6de6e6441a659c62f0b119b342456987f531005f43be0b6d.cs.png" width="70%"/>
|
||||
<img alt="evoluce Turingova testu" src="../../../../translated_images/turing-test-evol.4184696701293ead.cs.png" width="70%"/>
|
||||
> Obrázek od Dmitry Soshnikov, [fotografie](https://unsplash.com/photos/r8LmVbUKgns) od [Marina Abrosimova](https://unsplash.com/@abrosimova_marina_foto), Unsplash
|
||||
|
||||
## Nedávný výzkum v oblasti AI
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
"\n",
|
||||
"V tomto příkladu implementujeme jednoduchý systém založený na znalostech, který určí zvíře na základě některých fyzických charakteristik. Systém může být reprezentován následujícím AND-OR stromem (toto je část celého stromu, pravidla lze snadno rozšířit):\n",
|
||||
"\n",
|
||||
"\n"
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Reprezentace znalostí a expertní systémy
|
||||
|
||||

|
||||

|
||||
|
||||
> Sketchnote od [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
|
|
@ -41,7 +41,7 @@ Znalosti často nedefinujeme striktně, ale porovnáváme je s jinými souvisej
|
|||
|
||||
Problém **reprezentace znalostí** tedy spočívá v nalezení efektivního způsobu, jak reprezentovat znalosti uvnitř počítače ve formě dat, aby byly automaticky použitelné. To lze chápat jako spektrum:
|
||||
|
||||

|
||||

|
||||
|
||||
> Obrázek od [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
@ -94,7 +94,7 @@ Bloková syntaxe | Odsazení | | |
|
|||
|
||||
Jedním z raných úspěchů symbolické AI byly tzv. **expertní systémy** - počítačové systémy navržené tak, aby fungovaly jako expert v omezené oblasti problémů. Byly založeny na **bázi znalostí** získané od jednoho nebo více lidských expertů a obsahovaly **inferenční stroj**, který na ní prováděl usuzování.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
---------------------------------------------|------------------------------------------------
|
||||
Zjednodušená struktura lidského nervového systému | Architektura systému založeného na znalostech
|
||||
|
||||
|
|
@ -106,7 +106,7 @@ Expertní systémy jsou postaveny podobně jako lidský systém usuzování, kte
|
|||
|
||||
Jako příklad si vezměme následující expertní systém určování zvířete na základě jeho fyzických charakteristik:
|
||||
|
||||

|
||||

|
||||
|
||||
> Obrázek od [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
|
|||
|
|
@ -1255,7 +1255,7 @@
|
|||
"* Nízká trénovací ztráta – model dokáže dobře aproximovat trénovací data, protože má dostatečnou vyjadřovací schopnost.\n",
|
||||
"* Validační ztráta může být mnohem vyšší než trénovací ztráta a během trénování může začít růst – to je způsobeno tím, že model „si pamatuje“ trénovací body a ztrácí „celkový přehled“.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"> Na tomto obrázku `x` označuje trénovací data, `o` validační data. Vlevo – lineární model (jednovrstvý), který přibližně odpovídá povaze dat. Vpravo – přeučený model, který dokonale aproximuje trénovací data, ale přestává dávat smysl pro jakákoli jiná data (validační chyba je velmi vysoká).\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ Přeučení je extrémně důležitý koncept v strojovém učení a je velmi d
|
|||
|
||||
Zvažte následující problém aproximace 5 bodů (reprezentovaných `x` na grafech níže):
|
||||
|
||||
 | 
|
||||
 | 
|
||||
-------------------------|--------------------------
|
||||
**Lineární model, 2 parametry** | **Nelineární model, 7 parametrů**
|
||||
Chyba trénování = 5.3 | Chyba trénování = 0
|
||||
|
|
@ -79,7 +79,7 @@ Je velmi důležité najít správnou rovnováhu mezi složitostí modelu (počt
|
|||
|
||||
Jak můžete vidět z grafu výše, přeučení lze detekovat velmi nízkou chybou trénování a vysokou chybou validace. Během trénování obvykle vidíme, že chyby trénování i validace začínají klesat, a poté v určitém bodě může chyba validace přestat klesat a začít stoupat. To bude znakem přeučení a indikátorem, že bychom pravděpodobně měli v tomto bodě zastavit trénování (nebo alespoň vytvořit snímek modelu).
|
||||
|
||||

|
||||

|
||||
|
||||
## Jak zabránit přeučení
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Úvod do neuronových sítí
|
||||
|
||||

|
||||

|
||||
|
||||
Jak jsme si řekli v úvodu, jedním ze způsobů, jak dosáhnout inteligence, je trénovat **počítačový model** nebo **umělý mozek**. Od poloviny 20. století vědci zkoušeli různé matematické modely, až se v posledních letech ukázalo, že tento směr je velmi úspěšný. Tyto matematické modely mozku se nazývají **neuronové sítě**.
|
||||
|
||||
|
|
@ -36,13 +36,13 @@ V tomto kurzu se zaměříme pouze na modely neuronových sítí.
|
|||
|
||||
Z biologie víme, že náš mozek se skládá z nervových buněk (neuronů), z nichž každá má několik "vstupů" (dendritů) a jeden "výstup" (axon). Dendrity i axony mohou vést elektrické signály a spojení mezi nimi — známá jako synapse — mohou vykazovat různé stupně vodivosti, které jsou regulovány neurotransmitery.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
----|----
|
||||
Skutečný neuron *([Obrázek](https://en.wikipedia.org/wiki/Synapse#/media/File:SynapseSchematic_lines.svg) z Wikipedie)* | Umělý neuron *(Obrázek od autora)*
|
||||
|
||||
Nejjednodušší matematický model neuronu tedy obsahuje několik vstupů X<sub>1</sub>, ..., X<sub>N</sub> a jeden výstup Y, a řadu vah W<sub>1</sub>, ..., W<sub>N</sub>. Výstup se vypočítá jako:
|
||||
|
||||
<img src="../../../../translated_images/netout.1eb15eb76fd767313e067719f400cec4b0e5090239c3e997c29f6789d4c3c263.cs.png" alt="Y = f\left(\sum_{i=1}^N X_iW_i\right)" width="131" height="53" align="center"/>
|
||||
<img src="../../../../translated_images/netout.1eb15eb76fd76731.cs.png" alt="Y = f\left(\sum_{i=1}^N X_iW_i\right)" width="131" height="53" align="center"/>
|
||||
|
||||
kde f je nějaká nelineární **aktivační funkce**.
|
||||
|
||||
|
|
|
|||
|
|
@ -73,14 +73,14 @@ V našem [OpenCV Notebook](OpenCV.ipynb) uvádíme některé příklady, kdy lze
|
|||
|
||||
* **Předzpracování fotografie Braillovy knihy**. Zaměřujeme se na to, jak můžeme použít prahování, detekci prvků, perspektivní transformaci a manipulace s NumPy k oddělení jednotlivých Braillových symbolů pro další klasifikaci neuronovou sítí.
|
||||
|
||||
 |  | 
|
||||
 |  | 
|
||||
----|-----|-----
|
||||
|
||||
> Obrázek z [OpenCV.ipynb](OpenCV.ipynb)
|
||||
|
||||
* **Detekce pohybu ve videu pomocí rozdílu snímků**. Pokud je kamera pevná, pak by snímky z kamerového záznamu měly být velmi podobné. Protože snímky jsou reprezentovány jako pole, pouhým odečtením těchto polí pro dva po sobě jdoucí snímky získáme rozdíl pixelů, který by měl být nízký pro statické snímky a stoupat, jakmile dojde k výraznému pohybu na obrázku.
|
||||
|
||||

|
||||

|
||||
|
||||
> Obrázek z [OpenCV.ipynb](OpenCV.ipynb)
|
||||
|
||||
|
|
@ -89,7 +89,7 @@ V našem [OpenCV Notebook](OpenCV.ipynb) uvádíme některé příklady, kdy lze
|
|||
- **Hustý optický tok** počítá vektorové pole, které ukazuje, kam se každý pixel pohybuje.
|
||||
- **Řídký optický tok** je založen na výběru některých výrazných prvků na obrázku (např. hran) a sestavení jejich trajektorie snímek po snímku.
|
||||
|
||||

|
||||

|
||||
|
||||
> Obrázek z [OpenCV.ipynb](OpenCV.ipynb)
|
||||
|
||||
|
|
|
|||
|
|
@ -13,11 +13,11 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
VGG-16 je síť, která dosáhla 92,7% přesnosti v top-5 klasifikaci ImageNet v roce 2014. Má následující strukturu vrstev:
|
||||
|
||||

|
||||

|
||||
|
||||
Jak můžete vidět, VGG sleduje tradiční pyramidovou architekturu, což je sekvence vrstev konvoluce a pooling.
|
||||
|
||||

|
||||

|
||||
|
||||
> Obrázek z [Researchgate](https://www.researchgate.net/figure/Vgg16-model-structure-To-get-the-VGG-NIN-model-we-replace-the-2-nd-4-th-6-th-7-th_fig2_335194493)
|
||||
|
||||
|
|
|
|||
|
|
@ -260,7 +260,7 @@
|
|||
"\n",
|
||||
"V typické CNN tedy existuje několik konvolučních vrstev, mezi nimiž jsou pooling vrstvy, které snižují rozměry obrazu. Zároveň zvyšujeme počet filtrů, protože jak se vzory stávají složitějšími, existuje více možných zajímavých kombinací, které je třeba hledat.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Kvůli snižování prostorových rozměrů a zvyšování rozměrů vlastností/filtrů se tato architektura také nazývá **pyramidová architektura**.\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -360,7 +360,7 @@
|
|||
"\n",
|
||||
"V typické CNN tedy najdeme několik konvolučních vrstev, mezi nimiž jsou pooling vrstvy, které snižují rozměry obrazu. Zároveň zvyšujeme počet filtrů, protože jak se vzory stávají složitějšími, existuje více možných zajímavých kombinací, které je třeba hledat.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Kvůli snižování prostorových rozměrů a zvyšování rozměrů funkcí/filtrů se tato architektura také nazývá **pyramidová architektura**.\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ V reálném životě chceme být schopni rozpoznat objekty na obrázku bez ohled
|
|||
|
||||
K extrakci vzorů použijeme koncept **konvolučních filtrů**. Jak víte, obrázek je reprezentován jako 2D-matice nebo 3D-tensor s barevnou hloubkou. Aplikace filtru znamená, že vezmeme relativně malou matici **filtračního jádra** a pro každý pixel v původním obrázku vypočítáme vážený průměr s okolními body. Můžeme si to představit jako malé okno, které se posouvá po celém obrázku a průměruje všechny pixely podle vah v matici filtračního jádra.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
----|----
|
||||
|
||||
> Obrázek od Dmitry Soshnikov
|
||||
|
|
@ -38,7 +38,7 @@ Fungování CNN je založeno na následujících důležitých principech:
|
|||
* Síť můžeme navrhnout tak, aby se filtry učily automaticky
|
||||
* Stejný přístup můžeme použít k hledání vzorů ve vysokoúrovňových rysech, nejen v původním obrázku. Extrakce rysů pomocí CNN tedy funguje na hierarchii rysů, počínaje nízkoúrovňovými kombinacemi pixelů až po vysokoúrovňové kombinace částí obrázku.
|
||||
|
||||

|
||||

|
||||
|
||||
> Obrázek z [práce Hislop-Lynch](https://www.semanticscholar.org/paper/Computer-vision-based-pedestrian-trajectory-Hislop-Lynch/26e6f74853fc9bbb7487b06dc2cf095d36c9021d), založené na [jejich výzkumu](https://dl.acm.org/doi/abs/10.1145/1553374.1553453)
|
||||
|
||||
|
|
@ -55,9 +55,9 @@ Většina CNN používaných pro zpracování obrázků následuje tzv. pyramido
|
|||
|
||||
Jako příklad se podívejme na architekturu VGG-16, sítě, která dosáhla 92,7% přesnosti v top-5 klasifikaci ImageNetu v roce 2014:
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
> Obrázek z [Researchgate](https://www.researchgate.net/figure/Vgg16-model-structure-To-get-the-VGG-NIN-model-we-replace-the-2-nd-4-th-6-th-7-th_fig2_335194493)
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ Vaším úkolem je natrénovat konvoluční neuronovou síť, která bude klasif
|
|||
|
||||
Použijeme [Oxford-IIIT Pet Dataset](https://www.robots.ox.ac.uk/~vgg/data/pets/), který obsahuje obrázky 37 různých plemen psů a koček.
|
||||
|
||||

|
||||

|
||||
|
||||
Pro stažení datasetu použijte tento kód:
|
||||
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@
|
|||
"\n",
|
||||
"Abychom si představili ideální kočku, začneme s obrázkem náhodného šumu a pokusíme se použít optimalizační techniku gradientního sestupu k úpravě obrázku tak, aby síť rozpoznala kočku.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Zde je náš výchozí obrázek:\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ Keras i PyTorch obsahují funkce pro snadné načtení předtrénovaných vah ne
|
|||
|
||||
Zde jsou ukázkové rysy extrahované z obrázku kočky pomocí sítě VGG-16:
|
||||
|
||||

|
||||

|
||||
|
||||
## Dataset Kočky vs. Psi
|
||||
|
||||
|
|
@ -48,19 +48,19 @@ Předtrénovaná neuronová síť obsahuje různé vzory uvnitř svého *mozku*,
|
|||
|
||||
Jedním z přístupů, které můžeme použít, je začít s náhodným obrázkem a poté se pokusit pomocí techniky **optimalizace gradientního sestupu** upravit tento obrázek tak, aby si síť začala myslet, že je to kočka.
|
||||
|
||||

|
||||

|
||||
|
||||
Pokud to však uděláme, obdržíme něco velmi podobného náhodnému šumu. To je proto, že *existuje mnoho způsobů, jak síť přimět myslet si, že vstupní obrázek je kočka*, včetně některých, které vizuálně nedávají smysl. Zatímco tyto obrázky obsahují mnoho vzorů typických pro kočku, nic je neomezuje, aby byly vizuálně rozlišitelné.
|
||||
|
||||
Pro zlepšení výsledku můžeme do ztrátové funkce přidat další člen, který se nazývá **variation loss**. Je to metrika, která ukazuje, jak podobné jsou sousední pixely obrázku. Minimalizace variation loss činí obrázek hladším a zbavuje se šumu – tím odhaluje vizuálně přitažlivější vzory. Zde je příklad takových "ideálních" obrázků, které jsou klasifikovány jako kočka a jako zebra s vysokou pravděpodobností:
|
||||
|
||||
 | 
|
||||
 | 
|
||||
-----|-----
|
||||
*Ideální kočka* | *Ideální zebra*
|
||||
|
||||
Podobný přístup lze použít k provádění tzv. **adversarial útoků** na neuronovou síť. Představme si, že chceme oklamat neuronovou síť a přimět ji, aby psa považovala za kočku. Pokud vezmeme obrázek psa, který je sítí rozpoznán jako pes, můžeme jej trochu upravit pomocí optimalizace gradientního sestupu, dokud síť nezačne klasifikovat obrázek jako kočku:
|
||||
|
||||
 | 
|
||||
 | 
|
||||
-----|-----
|
||||
*Původní obrázek psa* | *Obrázek psa klasifikovaný jako kočka*
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
"\n",
|
||||
"Protože trénujeme autoencoder, aby zachytil co nejvíce informací z původního obrázku pro přesnou rekonstrukci, síť se snaží najít nejlepší **embedding** vstupních obrázků, aby zachytila jejich význam.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"> Obrázek z [Keras blogu](https://blog.keras.io/building-autoencoders-in-keras.html)\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
"\n",
|
||||
"Protože trénujeme autoencoder, aby zachytil co nejvíce informací z původního obrázku pro přesnou rekonstrukci, síť se snaží najít nejlepší **embedding** vstupních obrázků, aby zachytila jejich význam.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Obrázek z [Keras blogu](https://blog.keras.io/building-autoencoders-in-keras.html)*\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ Nicméně bychom mohli chtít použít surová (neoznačená) data pro trénová
|
|||
|
||||
Protože trénujeme autoenkodér, aby zachytil co nejvíce informací z původního obrázku pro přesnou rekonstrukci, síť se snaží najít nejlepší **embedding** vstupních obrázků, aby zachytila jejich význam.
|
||||
|
||||

|
||||

|
||||
|
||||
> Obrázek z [blogu Keras](https://blog.keras.io/building-autoencoders-in-keras.html)
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ Modely pro klasifikaci obrázků, se kterými jsme se dosud zabývali, přijíma
|
|||
|
||||
## [Kvíz před lekcí](https://ff-quizzes.netlify.app/en/ai/quiz/21)
|
||||
|
||||

|
||||

|
||||
|
||||
> Obrázek z [webu YOLO v2](https://pjreddie.com/darknet/yolov2/)
|
||||
|
||||
|
|
@ -25,7 +25,7 @@ Předpokládejme, že chceme najít kočku na obrázku. Velmi naivní přístup
|
|||
2. Proveďte klasifikaci obrázků na každé dlaždici.
|
||||
3. Dlaždice, které vykazují dostatečně vysokou aktivaci, lze považovat za obsahující hledaný objekt.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Obrázek z [cvičebního notebooku](ObjectDetection-TF.ipynb)*
|
||||
|
||||
|
|
@ -42,7 +42,7 @@ Můžete narazit na následující datové sady pro tento úkol:
|
|||
* [PASCAL VOC](http://host.robots.ox.ac.uk/pascal/VOC/) – 20 tříd
|
||||
* [COCO](http://cocodataset.org/#home) – Common Objects in Context. 80 tříd, ohraničující rámečky a segmentační masky
|
||||
|
||||

|
||||

|
||||
|
||||
## Metriky pro detekci objektů
|
||||
|
||||
|
|
@ -50,7 +50,7 @@ Můžete narazit na následující datové sady pro tento úkol:
|
|||
|
||||
Zatímco u klasifikace obrázků je snadné měřit, jak dobře algoritmus funguje, u detekce objektů musíme měřit jak správnost třídy, tak přesnost určené polohy ohraničujícího rámečku. Pro druhé zmíněné používáme tzv. **Průnik přes sjednocení** (IoU), který měří, jak dobře se dva rámečky (nebo dvě libovolné oblasti) překrývají.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Obrázek 2 z [tohoto skvělého blogového příspěvku o IoU](https://pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/)*
|
||||
|
||||
|
|
@ -98,11 +98,11 @@ Existují dvě široké kategorie algoritmů pro detekci objektů:
|
|||
|
||||
[R-CNN](http://islab.ulsan.ac.kr/files/announcement/513/rcnn_pami.pdf) používá [Selektivní vyhledávání](http://www.huppelen.nl/publications/selectiveSearchDraft.pdf) k vytvoření hierarchické struktury oblastí ROI, které jsou následně zpracovány extraktory funkcí CNN a klasifikátory SVM k určení třídy objektu, a lineární regresí k určení souřadnic *ohraničujícího rámečku*. [Oficiální článek](https://arxiv.org/pdf/1506.01497v1.pdf)
|
||||
|
||||

|
||||

|
||||
|
||||
> *Obrázek od van de Sande et al. ICCV’11*
|
||||
|
||||

|
||||

|
||||
|
||||
> *Obrázky z [tohoto blogu](https://towardsdatascience.com/r-cnn-fast-r-cnn-faster-r-cnn-yolo-object-detection-algorithms-36d53571365e)*
|
||||
|
||||
|
|
@ -110,7 +110,7 @@ Existují dvě široké kategorie algoritmů pro detekci objektů:
|
|||
|
||||
Tento přístup je podobný R-CNN, ale oblasti jsou definovány po aplikaci konvolučních vrstev.
|
||||
|
||||

|
||||

|
||||
|
||||
> Obrázek z [oficiálního článku](https://www.cv-foundation.org/openaccess/content_iccv_2015/papers/Girshick_Fast_R-CNN_ICCV_2015_paper.pdf), [arXiv](https://arxiv.org/pdf/1504.08083.pdf), 2015
|
||||
|
||||
|
|
@ -118,7 +118,7 @@ Tento přístup je podobný R-CNN, ale oblasti jsou definovány po aplikaci konv
|
|||
|
||||
Hlavní myšlenkou tohoto přístupu je použití neuronové sítě k předpovědi ROI – tzv. *Region Proposal Network*. [Článek](https://arxiv.org/pdf/1506.01497.pdf), 2016
|
||||
|
||||

|
||||

|
||||
|
||||
> Obrázek z [oficiálního článku](https://arxiv.org/pdf/1506.01497.pdf)
|
||||
|
||||
|
|
@ -130,7 +130,7 @@ Tento algoritmus je ještě rychlejší než Faster R-CNN. Hlavní myšlenka je
|
|||
2. Funkce jsou zpracovány pomocí **Position-Sensitive Score Map**. Každý objekt z $C$ tříd je rozdělen na $k\times k$ oblasti a trénujeme na předpověď částí objektů.
|
||||
3. Pro každou část z $k\times k$ oblastí všechny sítě hlasují pro třídy objektů a třída objektu s maximálním počtem hlasů je vybrána.
|
||||
|
||||

|
||||

|
||||
|
||||
> Obrázek z [oficiálního článku](https://arxiv.org/abs/1605.06409)
|
||||
|
||||
|
|
@ -141,7 +141,7 @@ YOLO je algoritmus pro detekci v reálném čase s jedním průchodem. Hlavní m
|
|||
* Obrázek je rozdělen na $S\times S$ oblasti.
|
||||
* Pro každou oblast **CNN** předpovídá $n$ možných objektů, souřadnice *ohraničujícího rámečku* a *důvěru*=*pravděpodobnost* * IoU.
|
||||
|
||||

|
||||

|
||||
|
||||
> Obrázek z [oficiálního článku](https://arxiv.org/abs/1506.02640)
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Počítačové vidění
|
||||
|
||||

|
||||

|
||||
|
||||
V této sekci se naučíme:
|
||||
|
||||
|
|
|
|||
|
|
@ -199,7 +199,7 @@
|
|||
"\n",
|
||||
"**Bag of Words** (BoW) je nejčastěji používaná tradiční vektorová reprezentace. Každé slovo je spojeno s indexem vektoru, prvek vektoru obsahuje počet výskytů daného slova v konkrétním dokumentu.\n",
|
||||
"\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"\n",
|
||||
"> **Note**: Na BoW můžete také nahlížet jako na součet všech vektorů zakódovaných metodou one-hot pro jednotlivá slova v textu.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -188,7 +188,7 @@
|
|||
"\n",
|
||||
"Reprezentace vektoru **Bag-of-words** (BoW) je nejjednodušší tradiční vektorová reprezentace na pochopení. Každé slovo je spojeno s indexem vektoru a prvek vektoru obsahuje počet výskytů každého slova v daném dokumentu.\n",
|
||||
"\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"\n",
|
||||
"> **Note**: Na BoW můžete také nahlížet jako na součet všech one-hot-encoded vektorů pro jednotlivá slova v textu.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@
|
|||
"\n",
|
||||
"Použitím embeddingové vrstvy jako první vrstvy v naší síti můžeme přejít od modelu bag-of-words k modelu **embedding bag**, kde nejprve převedeme každé slovo v našem textu na odpovídající embedding a poté vypočítáme nějakou agregační funkci přes všechny tyto embeddingy, například `sum`, `average` nebo `max`.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Naše klasifikační neuronová síť začne embeddingovou vrstvou, poté agregační vrstvou a na vrcholu bude lineární klasifikátor:\n"
|
||||
]
|
||||
|
|
@ -176,7 +176,7 @@
|
|||
"\n",
|
||||
"V předchozí architektuře jsme museli všechny sekvence doplnit na stejnou délku, aby se vešly do minibatch. To není nejefektivnější způsob, jak reprezentovat sekvence s proměnnou délkou – jiný přístup by byl použití **offsetového** vektoru, který by obsahoval offsety všech sekvencí uložených v jednom velkém vektoru.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"> **Note**: Na obrázku výše je znázorněna sekvence znaků, ale v našem příkladu pracujeme se sekvencemi slov. Nicméně obecný princip reprezentace sekvencí pomocí offsetového vektoru zůstává stejný.\n",
|
||||
"\n",
|
||||
|
|
@ -311,7 +311,7 @@
|
|||
"\n",
|
||||
"CBoW je rychlejší, zatímco skip-gram je pomalejší, ale lépe reprezentuje méně častá slova.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Pro experimentování s Word2Vec vektory předem natrénovanými na datasetu Google News můžeme použít knihovnu **gensim**. Níže najdeme slova nejpodobnější slovu 'neural'.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
"\n",
|
||||
"Použitím embedding vrstvy jako první vrstvy v naší síti můžeme přejít od modelu bag-of-words k modelu **embedding bag**, kde nejprve převedeme každé slovo v našem textu na odpovídající embedding a poté vypočítáme nějakou agregační funkci nad všemi těmito embeddingy, například `sum`, `average` nebo `max`.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Naše neuronová síť klasifikátoru se skládá z následujících vrstev:\n",
|
||||
"\n",
|
||||
|
|
@ -283,7 +283,7 @@
|
|||
"\n",
|
||||
"CBoW je rychlejší, zatímco skip-gram je pomalejší, ale lépe reprezentuje méně častá slova.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Pro experimentování s Word2Vec vektorizací předtrénovanou na datasetu Google News můžeme použít knihovnu **gensim**. Níže najdeme slova nejpodobnější slovu 'neural'.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ Vrstva embedding tedy přijme slovo jako vstup a vytvoří výstupní vektor o s
|
|||
|
||||
Použitím vrstvy embedding jako první vrstvy v naší klasifikační síti můžeme přejít od modelu bag-of-words k modelu **embedding bag**, kde nejprve převedeme každé slovo v textu na odpovídající embedding a poté vypočítáme nějakou agregační funkci nad všemi těmito embeddingy, například `sum`, `average` nebo `max`.
|
||||
|
||||

|
||||

|
||||
|
||||
> Obrázek od autora
|
||||
|
||||
|
|
@ -40,7 +40,7 @@ K tomu je třeba předtrénovat model embedding na velké kolekci textů specifi
|
|||
|
||||
CBoW je rychlejší, zatímco skip-gram je pomalejší, ale lépe reprezentuje méně častá slova.
|
||||
|
||||

|
||||

|
||||
|
||||
> Obrázek z [tohoto článku](https://arxiv.org/pdf/1301.3781.pdf)
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ V našich předchozích příkladech jsme používali předtrénované sémantic
|
|||
* **Continuous Bag-of-Words** (CBoW), kdy předpovídáme prostřední token $W_0$ v sekvenci tokenů $W_{-N}$, ..., $W_N$.
|
||||
* **Skip-gram**, kde předpovídáme sadu sousedních tokenů {$W_{-N},\dots, W_{-1}, W_1,\dots, W_N$} na základě prostředního tokenu $W_0$.
|
||||
|
||||

|
||||

|
||||
|
||||
> Obrázek z [tohoto článku](https://arxiv.org/pdf/1301.3781.pdf)
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ V předchozích sekcích jsme používali bohaté sémantické reprezentace text
|
|||
|
||||
Abychom zachytili význam textové sekvence, musíme použít jinou architekturu neuronové sítě, která se nazývá **rekurentní neuronová síť** (RNN). V RNN prochází věta sítí jeden symbol po druhém a síť produkuje nějaký **stav**, který se poté předává síti spolu s dalším symbolem.
|
||||
|
||||

|
||||

|
||||
|
||||
> Obrázek od autora
|
||||
|
||||
|
|
@ -61,7 +61,7 @@ Diskutovali jsme o rekurentních sítích, které fungují jedním směrem, od z
|
|||
|
||||
Rekurentní síť, ať už jednosměrná nebo bidirekcionální, zachycuje určité vzory v sekvenci a může je uložit do stavového vektoru nebo předat do výstupu. Stejně jako u konvolučních sítí můžeme na první vrstvu postavit další rekurentní vrstvu, která zachytí vzory na vyšší úrovni a vytvoří vzory na nižší úrovni extrahované první vrstvou. To nás vede k pojmu **vícevrstvá RNN**, která se skládá ze dvou nebo více rekurentních sítí, kde výstup předchozí vrstvy je předán další vrstvě jako vstup.
|
||||
|
||||

|
||||

|
||||
|
||||
*Obrázek z [tohoto skvělého příspěvku](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) od Fernanda Lópeze*
|
||||
|
||||
|
|
|
|||
|
|
@ -422,7 +422,7 @@
|
|||
"\n",
|
||||
"Rekurentní síť, ať už jednosměrná nebo obousměrná, zachycuje určité vzory v rámci sekvence a může je uložit do stavu nebo předat do výstupu. Stejně jako u konvolučních sítí můžeme na první vrstvu postavit další rekurentní vrstvu, která zachytí vzory na vyšší úrovni, vytvořené z nízkoúrovňových vzorů extrahovaných první vrstvou. To nás přivádí k pojmu **vícevrstvé RNN**, která se skládá ze dvou nebo více rekurentních sítí, kde výstup předchozí vrstvy je předán jako vstup do následující vrstvy.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Obrázek z [tohoto skvělého článku](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) od Fernanda Lópeze*\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
"\n",
|
||||
"Abychom zachytili význam textové sekvence, použijeme architekturu neuronové sítě nazývanou **rekurentní neuronová síť** (RNN). Při použití RNN procházíme větou sítí po jednom tokenu a síť produkuje určitý **stav**, který poté předáváme síti spolu s dalším tokenem.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Při dané vstupní sekvenci tokenů $X_0,\\dots,X_n$ RNN vytváří sekvenci bloků neuronové sítě a trénuje tuto sekvenci end-to-end pomocí zpětné propagace. Každý blok sítě přijímá dvojici $(X_i,S_i)$ jako vstup a produkuje $S_{i+1}$ jako výsledek. Konečný stav $S_n$ nebo výstup $Y_n$ se předává do lineárního klasifikátoru, aby se vytvořil výsledek. Všechny bloky sítě sdílejí stejné váhy a jsou trénovány end-to-end jedním průchodem zpětné propagace.\n",
|
||||
"\n",
|
||||
|
|
@ -369,7 +369,7 @@
|
|||
"\n",
|
||||
"Rekurentní sítě, ať už jednosměrné nebo obousměrné, zachycují vzory v rámci sekvence a ukládají je do stavových vektorů nebo je vracejí jako výstup. Stejně jako u konvolučních sítí můžeme vytvořit další rekurentní vrstvu, která následuje po první, aby zachytila vzory na vyšší úrovni, vytvořené z nižších úrovní vzorů extrahovaných první vrstvou. To nás přivádí k pojmu **vícevrstvé RNN**, které se skládají ze dvou nebo více rekurentních sítí, kde výstup předchozí vrstvy je předán jako vstup další vrstvě.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Obrázek z [tohoto skvělého příspěvku](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) od Fernanda Lópeze.*\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@
|
|||
"\n",
|
||||
"Způsob, jakým budeme trénovat RNN pro generování textu, je následující. Při každém kroku vezmeme sekvenci znaků o délce `nchars` a požádáme síť, aby pro každý vstupní znak vygenerovala následující výstupní znak:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"V závislosti na konkrétním scénáři můžeme také chtít zahrnout některé speciální znaky, jako například *konec sekvence* `<eos>`. V našem případě chceme síť trénovat pouze pro nekonečné generování textu, a proto nastavíme velikost každé sekvence na `nchars` tokenů. Každý tréninkový příklad tedy bude sestávat z `nchars` vstupů a `nchars` výstupů (což je vstupní sekvence posunutá o jeden symbol doleva). Minibatch bude obsahovat několik takových sekvencí.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@
|
|||
"\n",
|
||||
"Způsob, jakým budeme trénovat RNN na generování nadpisů zpráv, je následující. V každém kroku vezmeme jeden nadpis, který bude předán do RNN, a pro každý vstupní znak požádáme síť, aby vygenerovala následující výstupní znak:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Pro poslední znak naší sekvence požádáme síť, aby vygenerovala token `<eos>`.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ V architektuře RNN, kterou jsme probírali v předchozí kapitole, každá jedn
|
|||
|
||||
To umožňuje různé neuronové architektury, jak je znázorněno na obrázku níže:
|
||||
|
||||

|
||||

|
||||
|
||||
> Obrázek z blogového příspěvku [Unreasonable Effectiveness of Recurrent Neural Networks](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) od [Andreje Karpatyho](http://karpathy.github.io/)
|
||||
|
||||
|
|
@ -32,7 +32,7 @@ V této kapitole se zaměříme na jednoduché generativní modely, které nám
|
|||
|
||||
Tuto RNN budeme trénovat na generování textu krok za krokem. Na každém kroku vezmeme sekvenci znaků o délce `nchars` a požádáme síť, aby pro každý vstupní znak vygenerovala další výstupní znak:
|
||||
|
||||

|
||||

|
||||
|
||||
Při generování textu (během inference) začínáme s nějakým **podnětem**, který je předán přes RNN buňky pro vytvoření mezistavu, a poté začíná samotné generování. Generujeme jeden znak po druhém a předáváme stav a vygenerovaný znak další RNN buňce, aby vygenerovala další znak, dokud nevygenerujeme dostatek znaků.
|
||||
|
||||
|
|
|
|||
|
|
@ -20,13 +20,13 @@ U RNN je sekvence na sekvenci implementována dvěma rekurentními sítěmi, kde
|
|||
|
||||
**Mechanismy pozornosti** poskytují způsob, jak vážit kontextuální vliv každého vstupního vektoru na každou výstupní predikci RNN. Implementuje se to vytvořením zkratek mezi mezistavy vstupní RNN a výstupní RNN. Tímto způsobem při generování výstupního symbolu y<sub>t</sub> zohledníme všechny skryté stavy vstupu h<sub>i</sub>, s různými váhovými koeficienty α<sub>t,i</sub>.
|
||||
|
||||

|
||||

|
||||
|
||||
> Model enkodér-dekodér s mechanismem aditivní pozornosti podle [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), citováno z [tohoto blogového příspěvku](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)
|
||||
|
||||
Matice pozornosti {α<sub>i,j</sub>} by reprezentovala míru, jakou určitá vstupní slova ovlivňují generování daného slova ve výstupní sekvenci. Níže je příklad takové matice:
|
||||
|
||||

|
||||

|
||||
|
||||
> Obrázek z [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Obr.3)
|
||||
|
||||
|
|
@ -66,7 +66,7 @@ Výsledek, který získáme s pozičním embeddingem, zahrnuje jak původní tok
|
|||
|
||||
Dále potřebujeme zachytit určité vzorce v rámci naší sekvence. K tomu transformery používají mechanismus **vlastní pozornosti**, což je v podstatě pozornost aplikovaná na stejnou sekvenci jako vstup a výstup. Aplikace vlastní pozornosti nám umožňuje zohlednit **kontext** v rámci věty a vidět, která slova jsou vzájemně propojená. Například nám umožňuje vidět, na která slova odkazují koreference, jako *to*, a také zohlednit kontext:
|
||||
|
||||

|
||||

|
||||
|
||||
> Obrázek z [Google Blogu](https://research.googleblog.com/2017/08/transformer-novel-neural-network.html)
|
||||
|
||||
|
|
@ -91,7 +91,7 @@ Protože každá vstupní pozice je mapována nezávisle na každou výstupní p
|
|||
|
||||
**BERT** (Bidirectional Encoder Representations from Transformers) je velmi velká vícevstvá síť transformeru s 12 vrstvami pro *BERT-base* a 24 pro *BERT-large*. Model je nejprve předtrénován na velkém korpusu textových dat (WikiPedia + knihy) pomocí nesupervizovaného tréninku (predikce maskovaných slov ve větě). Během předtrénování model absorbuje významné úrovně porozumění jazyku, které lze následně využít s jinými datovými sadami pomocí jemného ladění. Tento proces se nazývá **transfer learning**.
|
||||
|
||||

|
||||

|
||||
|
||||
> Obrázek [zdroj](http://jalammar.github.io/illustrated-bert/)
|
||||
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@
|
|||
"\n",
|
||||
"**Mechanismy pozornosti** poskytují způsob, jak vážit kontextuální vliv jednotlivých vstupních vektorů na každou výstupní predikci RNN. To se implementuje vytvořením zkratek mezi mezistavy vstupní RNN a výstupní RNN. Tímto způsobem, při generování výstupního symbolu $y_t$, bereme v úvahu všechny skryté stavy vstupu $h_i$ s různými váhovými koeficienty $\\alpha_{t,i}$.\n",
|
||||
"\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"*Model encoder-decoder s mechanismem aditivní pozornosti podle [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), citováno z [tohoto blogového příspěvku](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)*\n",
|
||||
"\n",
|
||||
"Matice pozornosti $\\{\\alpha_{i,j}\\}$ reprezentuje míru, do jaké určitá vstupní slova ovlivňují generování konkrétního slova ve výstupní sekvenci. Níže je příklad takové matice:\n",
|
||||
"\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"\n",
|
||||
"*Obrázek převzatý z [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Obr. 3)*\n",
|
||||
"\n",
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
"\n",
|
||||
"**BERT** (Bidirectional Encoder Representations from Transformers) je velmi velká vícevrstvá síť Transformer s 12 vrstvami pro *BERT-base* a 24 pro *BERT-large*. Model je nejprve předtrénován na velkém korpusu textových dat (WikiPedia + knihy) pomocí neřízeného učení (predikce maskovaných slov ve větě). Během předtrénování model absorbuje významnou úroveň porozumění jazyku, kterou lze následně využít s jinými datovými sadami pomocí doladění. Tento proces se nazývá **transfer learning**.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Existuje mnoho variant architektur Transformer, včetně BERT, DistilBERT, BigBird, OpenGPT3 a dalších, které lze doladit. Balíček [HuggingFace](https://github.com/huggingface/) poskytuje repozitář pro trénování mnoha těchto architektur pomocí PyTorch.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@
|
|||
"\n",
|
||||
"**Mechanismy pozornosti** poskytují způsob, jak vážit kontextuální vliv jednotlivých vstupních vektorů na každou výstupní predikci RNN. Toho je dosaženo vytvořením zkratek mezi mezistavy vstupní RNN a výstupní RNN. Tímto způsobem, při generování výstupního symbolu $y_t$, bereme v úvahu všechny skryté stavy vstupu $h_i$ s různými váhovými koeficienty $\\alpha_{t,i}$. \n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Model encoder-decoder s mechanismem aditivní pozornosti podle [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), citováno z [tohoto blogového příspěvku](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)*\n",
|
||||
"\n",
|
||||
"Matice pozornosti $\\{\\alpha_{i,j}\\}$ reprezentuje míru, do jaké určitá vstupní slova ovlivňují generování konkrétního slova ve výstupní sekvenci. Níže je příklad takové matice:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Obrázek převzatý z [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Obr. 3)*\n",
|
||||
"\n",
|
||||
|
|
@ -225,7 +225,7 @@
|
|||
"\n",
|
||||
"**BERT** (Bidirectional Encoder Representations from Transformers) je velmi rozsáhlá vícevrstvá transformátorová síť s 12 vrstvami pro *BERT-base* a 24 vrstvami pro *BERT-large*. Model je nejprve předtrénován na velkém korpusu textových dat (WikiPedia + knihy) pomocí nesupervizovaného učení (předpovídání maskovaných slov ve větě). Během předtrénování model získává významnou úroveň porozumění jazyku, kterou lze následně využít s jinými datovými sadami pomocí jemného ladění. Tento proces se nazývá **transferové učení**.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Existuje mnoho variant architektur Transformerů, včetně BERT, DistilBERT, BigBird, OpenGPT3 a dalších, které lze jemně doladit.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ novorozence | O
|
|||
|
||||
Protože potřebujeme vytvořit jednoznačnou korespondenci mezi tokeny a třídami, můžeme trénovat pravostranný **many-to-many** model neuronové sítě podle tohoto obrázku:
|
||||
|
||||

|
||||

|
||||
|
||||
> *Obrázek z [tohoto blogového příspěvku](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) od [Andreje Karpathyho](http://karpathy.github.io/). Modely pro klasifikaci tokenů v NER odpovídají pravostranné architektuře na tomto obrázku.*
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Zpracování přirozeného jazyka
|
||||
|
||||

|
||||

|
||||
|
||||
V této sekci se zaměříme na použití neuronových sítí k řešení úkolů spojených se **zpracováním přirozeného jazyka (NLP)**. Existuje mnoho problémů v oblasti NLP, které bychom chtěli, aby počítače dokázaly vyřešit:
|
||||
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ Můžete otevřít jeden z modelů, například **Biology → Flocking*
|
|||
|
||||
Po otevření modelu se dostanete na hlavní obrazovku NetLogo. Zde je ukázkový model, který popisuje populaci vlků a ovcí, vzhledem k omezeným zdrojům (tráva).
|
||||
|
||||

|
||||

|
||||
|
||||
> Screenshot od Dmitry Soshnikov
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Přehled
|
||||
|
||||

|
||||

|
||||
|
||||
> Sketchnote od [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ Po úspěchu modelů transformerů při řešení úloh NLP byly stejné nebo po
|
|||
|
||||
Hlavní myšlenkou CLIP je schopnost porovnávat textové výzvy s obrázkem a určit, jak dobře obrázek odpovídá dané výzvě.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Obrázek z [tohoto blogového příspěvku](https://openai.com/blog/clip/)*
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ Jakmile je model předtrénován, můžeme mu předložit dávku obrázků a tex
|
|||
|
||||
Předpokládejme, že potřebujeme klasifikovat obrázky například na kočky, psy a lidi. V tomto případě můžeme modelu předložit obrázek a sérii textových výzev: "*obrázek kočky*", "*obrázek psa*", "*obrázek člověka*". Ve výsledném vektoru s 3 pravděpodobnostmi stačí vybrat index s nejvyšší hodnotou.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Obrázek z [tohoto blogového příspěvku](https://openai.com/blog/clip/)*
|
||||
|
||||
|
|
@ -53,13 +53,13 @@ Více o VQGAN se dozvíte na webu [Taming Transformers](https://compvis.github.i
|
|||
|
||||
Jedním z důležitých rozdílů mezi VQGAN a tradičním GAN je, že tradiční GAN může vytvořit slušný obrázek z jakéhokoli vstupního vektoru, zatímco VQGAN pravděpodobně vytvoří obrázek, který nebude koherentní. Proto je třeba dále řídit proces tvorby obrázku, což lze provést pomocí CLIP.
|
||||
|
||||

|
||||

|
||||
|
||||
Pro generování obrázku odpovídajícího textové výzvě začneme s nějakým náhodným kódovacím vektorem, který je předán přes VQGAN k vytvoření obrázku. Poté je použit CLIP k vytvoření ztrátové funkce, která ukazuje, jak dobře obrázek odpovídá textové výzvě. Cílem je minimalizovat tuto ztrátu pomocí zpětné propagace k úpravě parametrů vstupního vektoru.
|
||||
|
||||
Skvělá knihovna, která implementuje VQGAN+CLIP, je [Pixray](http://github.com/pixray/pixray).
|
||||
|
||||
 |  | 
|
||||
 |  | 
|
||||
----|----|----
|
||||
Obrázek vytvořený na základě výzvy *detailní akvarelový portrét mladého učitele literatury s knihou* | Obrázek vytvořený na základě výzvy *detailní olejový portrét mladé učitelky informatiky s počítačem* | Obrázek vytvořený na základě výzvy *detailní olejový portrét starého učitele matematiky před tabulí*
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
CO_OP_TRANSLATOR_METADATA:
|
||||
{
|
||||
"original_hash": "4ed9993bca581850c983c95d5a3f57eb",
|
||||
"translation_date": "2025-12-25T00:22:15+00:00",
|
||||
"original_hash": "14816e97d79b296c87811724f7785923",
|
||||
"translation_date": "2026-01-01T11:58:41+00:00",
|
||||
"source_file": "README.md",
|
||||
"language_code": "da"
|
||||
}
|
||||
|
|
@ -10,10 +10,10 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
[](https://github.com/microsoft/AI-For-Beginners/blob/main/LICENSE)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/graphs/contributors/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/issues/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/pulls/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/pulls/)
|
||||
[](http://makeapullrequest.com)
|
||||
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/watchers/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/watchers/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/network/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/stargazers/)
|
||||
[](https://mybinder.org/v2/gh/microsoft/ai-for-beginners/HEAD)
|
||||
|
|
@ -21,51 +21,50 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
|
||||
# Artificial Intelligence for Beginners - A Curriculum
|
||||
# Kunstig intelligens for begyndere - Et kursusforløb
|
||||
|
||||
||
|
||||
||
|
||||
|:---:|
|
||||
| AI For Beginners - _Sketchnote af [@girlie_mac](https://twitter.com/girlie_mac)_ |
|
||||
|
||||
Udforsk verdenen af **kunstig intelligens** (AI) med vores 12-ugers, 24-lektioners læseplan! Den indeholder praktiske lektioner, quizzer og laboratorier. Læseplanen er begyndervenlig og dækker værktøjer som TensorFlow og PyTorch samt etik inden for AI
|
||||
Udforsk verdenen af **Kunstig intelligens** (AI) med vores 12-ugers, 24-lektioners kursusforløb! Det inkluderer praktiske lektioner, quizzer, og laboratorier. Pensumet er begyndervenligt og dækker værktøjer som TensorFlow og PyTorch, samt etik inden for AI
|
||||
|
||||
|
||||
### 🌐 Flersproget support
|
||||
### 🌐 Flersproget understøttelse
|
||||
|
||||
#### Understøttet via GitHub Action (Automatiseret og altid opdateret)
|
||||
|
||||
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
|
||||
[Arabisk](../ar/README.md) | [Bengalsk](../bn/README.md) | [Bulgarsk](../bg/README.md) | [Burmesisk (Myanmar)](../my/README.md) | [Kinesisk (forenklet)](../zh/README.md) | [Kinesisk (traditionelt, Hongkong)](../hk/README.md) | [Kinesisk (traditionelt, Macau)](../mo/README.md) | [Kinesisk (traditionelt, Taiwan)](../tw/README.md) | [Kroatisk](../hr/README.md) | [Tjekkisk](../cs/README.md) | [Dansk](./README.md) | [Hollandsk](../nl/README.md) | [Estisk](../et/README.md) | [Finsk](../fi/README.md) | [Fransk](../fr/README.md) | [Tysk](../de/README.md) | [Græsk](../el/README.md) | [Hebraisk](../he/README.md) | [Hindi](../hi/README.md) | [Ungarsk](../hu/README.md) | [Indonesisk](../id/README.md) | [Italiensk](../it/README.md) | [Japansk](../ja/README.md) | [Kannada](../kn/README.md) | [Koreansk](../ko/README.md) | [Litauisk](../lt/README.md) | [Malaysisk](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepalesisk](../ne/README.md) | [Nigeriansk Pidgin](../pcm/README.md) | [Norsk](../no/README.md) | [Persisk (Farsi)](../fa/README.md) | [Polsk](../pl/README.md) | [Portugisisk (Brasilien)](../br/README.md) | [Portugisisk (Portugal)](../pt/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Rumænsk](../ro/README.md) | [Russisk](../ru/README.md) | [Serbisk (kyrillisk)](../sr/README.md) | [Slovakisk](../sk/README.md) | [Slovensk](../sl/README.md) | [Spansk](../es/README.md) | [Swahili](../sw/README.md) | [Svensk](../sv/README.md) | [Tagalog (filippinsk)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Tyrkisk](../tr/README.md) | [Ukrainsk](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamesisk](../vi/README.md)
|
||||
[Arabisk](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarsk](../bg/README.md) | [Burmesisk (Myanmar)](../my/README.md) | [Kinesisk (forenklet)](../zh/README.md) | [Kinesisk (traditionel, Hongkong)](../hk/README.md) | [Kinesisk (traditionel, Macau)](../mo/README.md) | [Kinesisk (traditionel, Taiwan)](../tw/README.md) | [Kroatisk](../hr/README.md) | [Tjekkisk](../cs/README.md) | [Dansk](./README.md) | [Hollandsk](../nl/README.md) | [Estisk](../et/README.md) | [Finsk](../fi/README.md) | [Fransk](../fr/README.md) | [Tysk](../de/README.md) | [Grekisk](../el/README.md) | [Hebraisk](../he/README.md) | [Hindi](../hi/README.md) | [Ungarsk](../hu/README.md) | [Indonesisk](../id/README.md) | [Italiensk](../it/README.md) | [Japansk](../ja/README.md) | [Kannada](../kn/README.md) | [Koreansk](../ko/README.md) | [Litauisk](../lt/README.md) | [Malayisk](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepalesisk](../ne/README.md) | [Nigeriansk Pidgin](../pcm/README.md) | [Norsk](../no/README.md) | [Persisk (Farsi)](../fa/README.md) | [Polsk](../pl/README.md) | [Portugisisk (Brasilien)](../br/README.md) | [Portugisisk (Portugal)](../pt/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Rumænsk](../ro/README.md) | [Russisk](../ru/README.md) | [Serbisk (kyrillisk)](../sr/README.md) | [Slovakisk](../sk/README.md) | [Slovensk](../sl/README.md) | [Spansk](../es/README.md) | [Swahili](../sw/README.md) | [Svensk](../sv/README.md) | [Tagalog (filippinsk)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Tyrkisk](../tr/README.md) | [Ukrainsk](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamesisk](../vi/README.md)
|
||||
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
|
||||
|
||||
**If you wish to have additional translations languages supported are listed [here](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
|
||||
**Hvis du ønsker at få yderligere oversættelser, er understøttede sprog oplistet [her](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
|
||||
|
||||
## Bliv en del af fællesskabet
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
|
||||
## Hvad du vil lære
|
||||
|
||||
**[Mindmap over kurset](http://soshnikov.com/courses/ai-for-beginners/mindmap.html)**
|
||||
**[Kursusets mindmap](http://soshnikov.com/courses/ai-for-beginners/mindmap.html)**
|
||||
|
||||
I denne læseplan vil du lære:
|
||||
I dette kursusforløb vil du lære:
|
||||
|
||||
* Forskellige tilgange til kunstig intelligens, inklusive den "gode gamle" symbolske tilgang med **vidensrepræsentation** og ræsonnement ([GOFAI](https://en.wikipedia.org/wiki/Symbolic_artificial_intelligence)).
|
||||
* **Neurale netværk** og **dyb læring**, som er kernen i moderne AI. Vi vil illustrere koncepterne bag disse vigtige emner ved hjælp af kode i to af de mest populære frameworks - [TensorFlow](http://Tensorflow.org) og [PyTorch](http://pytorch.org).
|
||||
* **Neurale arkitekturer** til arbejde med billeder og tekst. Vi vil dække nyere modeller, men kan være en smule mangelfulde i forhold til den nyeste forskning.
|
||||
* **Neurale arkitekturer** til arbejde med billeder og tekst. Vi vil dække nyere modeller, men kan være lidt mangelfulde i state-of-the-art.
|
||||
* Mindre populære AI-tilgange, såsom **genetiske algoritmer** og **multi-agent-systemer**.
|
||||
|
||||
Hvad vi ikke vil dække i denne læseplan:
|
||||
Hvad vi ikke dækker i dette kursusforløb:
|
||||
|
||||
> [Find alle yderligere ressourcer til dette kursus i vores Microsoft Learn-samling](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)
|
||||
> [Find alle yderligere ressourcer for dette kursus i vores Microsoft Learn-samling](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)
|
||||
|
||||
* Forretningsmæssige anvendelser af **AI i erhvervslivet**. Overvej at tage [Introduction to AI for business users](https://docs.microsoft.com/learn/paths/introduction-ai-for-business-users/?WT.mc_id=academic-77998-bethanycheum) læringsforløbet på Microsoft Learn, eller [AI Business School](https://www.microsoft.com/ai/ai-business-school/?WT.mc_id=academic-77998-bethanycheum), udviklet i samarbejde med [INSEAD](https://www.insead.edu/).
|
||||
* Forretningscases ved brug af **AI i forretning**. Overvej at tage [Introduktion til AI for forretningsbrugere](https://docs.microsoft.com/learn/paths/introduction-ai-for-business-users/?WT.mc_id=academic-77998-bethanycheum) læringsforløbet på Microsoft Learn, eller [AI Business School](https://www.microsoft.com/ai/ai-business-school/?WT.mc_id=academic-77998-bethanycheum), udviklet i samarbejde med [INSEAD](https://www.insead.edu/).
|
||||
* **Klassisk maskinlæring**, som er godt beskrevet i vores [Machine Learning for Beginners Curriculum](http://github.com/Microsoft/ML-for-Beginners).
|
||||
* Praktiske AI-applikationer bygget med **[Cognitive Services](https://azure.microsoft.com/services/cognitive-services/?WT.mc_id=academic-77998-bethanycheum)**. Til dette anbefaler vi, at du begynder med Microsoft Learn-moduler for [computersyn](https://docs.microsoft.com/learn/paths/create-computer-vision-solutions-azure-cognitive-services/?WT.mc_id=academic-77998-bethanycheum), [naturlig sprogbehandling](https://docs.microsoft.com/learn/paths/explore-natural-language-processing/?WT.mc_id=academic-77998-bethanycheum), **[Generativ AI med Azure OpenAI Service](https://learn.microsoft.com/en-us/training/paths/develop-ai-solutions-azure-openai/?WT.mc_id=academic-77998-bethanycheum)** og andre.
|
||||
* Specifikke ML **cloud-rammeværk**, såsom [Azure Machine Learning](https://azure.microsoft.com/services/machine-learning/?WT.mc_id=academic-77998-bethanycheum), [Microsoft Fabric](https://learn.microsoft.com/en-us/training/paths/get-started-fabric/?WT.mc_id=academic-77998-bethanycheum), eller [Azure Databricks](https://docs.microsoft.com/learn/paths/data-engineer-azure-databricks?WT.mc_id=academic-77998-bethanycheum). Overvej at bruge [Build and operate machine learning solutions with Azure Machine Learning](https://docs.microsoft.com/learn/paths/build-ai-solutions-with-azure-ml-service/?WT.mc_id=academic-77998-bethanycheum) og [Build and Operate Machine Learning Solutions with Azure Databricks](https://docs.microsoft.com/learn/paths/build-operate-machine-learning-solutions-azure-databricks/?WT.mc_id=academic-77998-bethanycheum) læringsforløb.
|
||||
* **Samtale-AI** og **chatbots**. Der er et separat [Create conversational AI solutions](https://docs.microsoft.com/learn/paths/create-conversational-ai-solutions/?WT.mc_id=academic-77998-bethanycheum) læringsforløb, og du kan også se [denne blogpost](https://soshnikov.com/azure/hello-bot-conversational-ai-on-microsoft-platform/) for flere detaljer.
|
||||
* **Dyb matematik** bag dyb læring. Til dette anbefaler vi [Deep Learning](https://www.amazon.com/Deep-Learning-Adaptive-Computation-Machine/dp/0262035618) af Ian Goodfellow, Yoshua Bengio og Aaron Courville, som også er tilgængelig online på [https://www.deeplearningbook.org/](https://www.deeplearningbook.org/).
|
||||
* Praktiske AI-applikationer bygget ved hjælp af **[Cognitive Services](https://azure.microsoft.com/services/cognitive-services/?WT.mc_id=academic-77998-bethanycheum)**. For dette anbefaler vi, at du starter med Microsoft Learn-moduler for [vision](https://docs.microsoft.com/learn/paths/create-computer-vision-solutions-azure-cognitive-services/?WT.mc_id=academic-77998-bethanycheum), [naturlig sprogbehandling](https://docs.microsoft.com/learn/paths/explore-natural-language-processing/?WT.mc_id=academic-77998-bethanycheum), **[Generativ AI med Azure OpenAI Service](https://learn.microsoft.com/en-us/training/paths/develop-ai-solutions-azure-openai/?WT.mc_id=academic-77998-bethanycheum)** og andre.
|
||||
* Specifikke ML **cloud-rammeværk**, såsom [Azure Machine Learning](https://azure.microsoft.com/services/machine-learning/?WT.mc_id=academic-77998-bethanycheum), [Microsoft Fabric](https://learn.microsoft.com/en-us/training/paths/get-started-fabric/?WT.mc_id=academic-77998-bethanycheum), eller [Azure Databricks](https://docs.microsoft.com/learn/paths/data-engineer-azure-databricks?WT.mc_id=academic-77998-bethanycheum). Overvej at bruge læringsforløbene [Build and operate machine learning solutions with Azure Machine Learning](https://docs.microsoft.com/learn/paths/build-ai-solutions-with-azure-ml-service/?WT.mc_id=academic-77998-bethanycheum) og [Build and Operate Machine Learning Solutions with Azure Databricks](https://docs.microsoft.com/learn/paths/build-operate-machine-learning-solutions-azure-databricks/?WT.mc_id=academic-77998-bethanycheum).
|
||||
* **Samtale-AI** og **chatbots**. Der er et separat læringsforløb [Create conversational AI solutions](https://docs.microsoft.com/learn/paths/create-conversational-ai-solutions/?WT.mc_id=academic-77998-bethanycheum), og du kan også henvise til [denne blogpost](https://soshnikov.com/azure/hello-bot-conversational-ai-on-microsoft-platform/) for flere detaljer.
|
||||
* **Dyb matematik** bag dyb læring. Til dette anbefaler vi bogen [Deep Learning](https://www.amazon.com/Deep-Learning-Adaptive-Computation-Machine/dp/0262035618) af Ian Goodfellow, Yoshua Bengio og Aaron Courville, som også findes online på [https://www.deeplearningbook.org/](https://www.deeplearningbook.org/).
|
||||
|
||||
For en blid introduktion til emnet _AI i skyen_ kan du overveje at tage [Get started with artificial intelligence on Azure](https://docs.microsoft.com/learn/paths/get-started-with-artificial-intelligence-on-azure/?WT.mc_id=academic-77998-bethanycheum) læringsforløbet.
|
||||
For en blid introduktion til emnerne _AI i skyen_ kan du overveje at tage læringsforløbet [Get started with artificial intelligence on Azure](https://docs.microsoft.com/learn/paths/get-started-with-artificial-intelligence-on-azure/?WT.mc_id=academic-77998-bethanycheum).
|
||||
|
||||
# Indhold
|
||||
|
||||
|
|
@ -75,23 +74,23 @@ For en blid introduktion til emnet _AI i skyen_ kan du overveje at tage [Get sta
|
|||
| I | [**Introduktion til AI**](./lessons/1-Intro/README.md) | | |
|
||||
| 01 | [Introduktion og AI's historie](./lessons/1-Intro/README.md) | - | - |
|
||||
| II | **Symbolsk AI** |
|
||||
| 02 | [Videnrepræsentation og ekspertsystemer](./lessons/2-Symbolic/README.md) | [Ekspertsystemer](./lessons/2-Symbolic/Animals.ipynb) / [Ontologi](./lessons/2-Symbolic/FamilyOntology.ipynb) /[Begrebsgraf](./lessons/2-Symbolic/MSConceptGraph.ipynb) | |
|
||||
| 02 | [Videnrepræsentation og ekspertsystemer](./lessons/2-Symbolic/README.md) | [Ekspertsystemer](./lessons/2-Symbolic/Animals.ipynb) / [Ontologi](./lessons/2-Symbolic/FamilyOntology.ipynb) /[Konceptgraf](./lessons/2-Symbolic/MSConceptGraph.ipynb) | |
|
||||
| III | [**Introduktion til neurale netværk**](./lessons/3-NeuralNetworks/README.md) |||
|
||||
| 03 | [Perceptron](./lessons/3-NeuralNetworks/03-Perceptron/README.md) | [Notebook](./lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb) | [Lab](./lessons/3-NeuralNetworks/03-Perceptron/lab/README.md) |
|
||||
| 04 | [Flerlaget perceptron og oprettelse af vores eget framework](./lessons/3-NeuralNetworks/04-OwnFramework/README.md) | [Notebook](./lessons/3-NeuralNetworks/04-OwnFramework/OwnFramework.ipynb) | [Lab](./lessons/3-NeuralNetworks/04-OwnFramework/lab/README.md) |
|
||||
| 05 | [Introduktion til frameworks (PyTorch/TensorFlow) og overfitting](./lessons/3-NeuralNetworks/05-Frameworks/README.md) | [PyTorch](./lessons/3-NeuralNetworks/05-Frameworks/IntroPyTorch.ipynb) / [Keras](./lessons/3-NeuralNetworks/05-Frameworks/IntroKeras.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [Lab](./lessons/3-NeuralNetworks/05-Frameworks/lab/README.md) |
|
||||
| 04 | [Flerlaget perceptron og at skabe vores eget framework](./lessons/3-NeuralNetworks/04-OwnFramework/README.md) | [Notebook](./lessons/3-NeuralNetworks/04-OwnFramework/OwnFramework.ipynb) | [Lab](./lessons/3-NeuralNetworks/04-OwnFramework/lab/README.md) |
|
||||
| 05 | [Introduktion til frameworks (PyTorch/TensorFlow) og overtilpasning](./lessons/3-NeuralNetworks/05-Frameworks/README.md) | [PyTorch](./lessons/3-NeuralNetworks/05-Frameworks/IntroPyTorch.ipynb) / [Keras](./lessons/3-NeuralNetworks/05-Frameworks/IntroKeras.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [Lab](./lessons/3-NeuralNetworks/05-Frameworks/lab/README.md) |
|
||||
| IV | [**Computersyn**](./lessons/4-ComputerVision/README.md) | [PyTorch](https://docs.microsoft.com/learn/modules/intro-computer-vision-pytorch/?WT.mc_id=academic-77998-cacaste) / [TensorFlow](https://docs.microsoft.com/learn/modules/intro-computer-vision-TensorFlow/?WT.mc_id=academic-77998-cacaste)| [Udforsk computersyn på Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) |
|
||||
| 06 | [Introduktion til computersyn. OpenCV](./lessons/4-ComputerVision/06-IntroCV/README.md) | [Notebook](./lessons/4-ComputerVision/06-IntroCV/OpenCV.ipynb) | [Lab](./lessons/4-ComputerVision/06-IntroCV/lab/README.md) |
|
||||
| 07 | [Konvolutionelle neurale netværk](./lessons/4-ComputerVision/07-ConvNets/README.md) & [CNN-arkitekturer](./lessons/4-ComputerVision/07-ConvNets/CNN_Architectures.md) | [PyTorch](./lessons/4-ComputerVision/07-ConvNets/ConvNetsPyTorch.ipynb) /[TensorFlow](./lessons/4-ComputerVision/07-ConvNets/ConvNetsTF.ipynb) | [Lab](./lessons/4-ComputerVision/07-ConvNets/lab/README.md) |
|
||||
| 08 | [Fortrænede netværk og transfer learning](./lessons/4-ComputerVision/08-TransferLearning/README.md) and [Træningstips](./lessons/4-ComputerVision/08-TransferLearning/TrainingTricks.md) | [PyTorch](./lessons/4-ComputerVision/08-TransferLearning/TransferLearningPyTorch.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [Lab](./lessons/4-ComputerVision/08-TransferLearning/lab/README.md) |
|
||||
| 08 | [Forudtrænede netværk og transfer learning](./lessons/4-ComputerVision/08-TransferLearning/README.md) and [Training Tricks](./lessons/4-ComputerVision/08-TransferLearning/TrainingTricks.md) | [PyTorch](./lessons/4-ComputerVision/08-TransferLearning/TransferLearningPyTorch.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [Lab](./lessons/4-ComputerVision/08-TransferLearning/lab/README.md) |
|
||||
| 09 | [Autoencodere og VAEs](./lessons/4-ComputerVision/09-Autoencoders/README.md) | [PyTorch](./lessons/4-ComputerVision/09-Autoencoders/AutoEncodersPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/09-Autoencoders/AutoencodersTF.ipynb) | |
|
||||
| 10 | [Generative adversarielle netværk & kunstnerisk stiloverførsel](./lessons/4-ComputerVision/10-GANs/README.md) | [PyTorch](./lessons/4-ComputerVision/10-GANs/GANPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/10-GANs/GANTF.ipynb) | |
|
||||
| 10 | [Generative Adversarial Networks & kunstnerisk stiloverførsel](./lessons/4-ComputerVision/10-GANs/README.md) | [PyTorch](./lessons/4-ComputerVision/10-GANs/GANPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/10-GANs/GANTF.ipynb) | |
|
||||
| 11 | [Objektdetektion](./lessons/4-ComputerVision/11-ObjectDetection/README.md) | [TensorFlow](./lessons/4-ComputerVision/11-ObjectDetection/ObjectDetection.ipynb) | [Lab](./lessons/4-ComputerVision/11-ObjectDetection/lab/README.md) |
|
||||
| 12 | [Semantisk segmentering. U-Net](./lessons/4-ComputerVision/12-Segmentation/README.md) | [PyTorch](./lessons/4-ComputerVision/12-Segmentation/SemanticSegmentationPytorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/12-Segmentation/SemanticSegmentationTF.ipynb) | |
|
||||
| V | [**Naturlig sprogbehandling**](./lessons/5-NLP/README.md) | [PyTorch](https://docs.microsoft.com/learn/modules/intro-natural-language-processing-pytorch/?WT.mc_id=academic-77998-cacaste) /[TensorFlow](https://docs.microsoft.com/learn/modules/intro-natural-language-processing-TensorFlow/?WT.mc_id=academic-77998-cacaste) | [Udforsk naturlig sprogbehandling på Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)|
|
||||
| 13 | [Tekstrepræsentation. BoW/TF-IDF](./lessons/5-NLP/13-TextRep/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationTF.ipynb) | |
|
||||
| 13 | [Tekstrepræsentation. Bag-of-Words/TF-IDF](./lessons/5-NLP/13-TextRep/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationTF.ipynb) | |
|
||||
| 14 | [Semantiske ordindlejringer. Word2Vec og GloVe](./lessons/5-NLP/14-Embeddings/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/14-Embeddings/EmbeddingsPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/14-Embeddings/EmbeddingsTF.ipynb) | |
|
||||
| 15 | [Sprogmodellering. Træn dine egne indlejringer](./lessons/5-NLP/15-LanguageModeling/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-PyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-TF.ipynb) | [Lab](./lessons/5-NLP/15-LanguageModeling/lab/README.md) |
|
||||
| 15 | [Sprogemodellering. Træn dine egne indlejringer](./lessons/5-NLP/15-LanguageModeling/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-PyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-TF.ipynb) | [Lab](./lessons/5-NLP/15-LanguageModeling/lab/README.md) |
|
||||
| 16 | [Rekurrente neurale netværk](./lessons/5-NLP/16-RNN/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/16-RNN/RNNPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/16-RNN/RNNTF.ipynb) | |
|
||||
| 17 | [Generative rekurrente netværk](./lessons/5-NLP/17-GenerativeNetworks/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/17-GenerativeNetworks/GenerativePyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/17-GenerativeNetworks/GenerativeTF.ipynb) | [Lab](./lessons/5-NLP/17-GenerativeNetworks/lab/README.md) |
|
||||
| 18 | [Transformers. BERT.](./lessons/5-NLP/18-Transformers/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/18-Transformers/TransformersPyTorch.ipynb) /[TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/18-Transformers/TransformersTF.ipynb) | |
|
||||
|
|
@ -99,63 +98,63 @@ For en blid introduktion til emnet _AI i skyen_ kan du overveje at tage [Get sta
|
|||
| 20 | [Store sprogmodeller, prompt-programmering og few-shot-opgaver](./lessons/5-NLP/20-LangModels/README.md) | [PyTorch](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/20-LangModels/GPT-PyTorch.ipynb) | |
|
||||
| VI | **Andre AI-teknikker** || |
|
||||
| 21 | [Genetiske algoritmer](./lessons/6-Other/21-GeneticAlgorithms/README.md) | [Notebook](./lessons/6-Other/21-GeneticAlgorithms/Genetic.ipynb) | |
|
||||
| 22 | [Dybt forstærkningslæring](./lessons/6-Other/22-DeepRL/README.md) | [PyTorch](./lessons/6-Other/22-DeepRL/CartPole-RL-PyTorch.ipynb) /[TensorFlow](./lessons/6-Other/22-DeepRL/CartPole-RL-TF.ipynb) | [Lab](./lessons/6-Other/22-DeepRL/lab/README.md) |
|
||||
| 22 | [Dyb forstærkningslæring](./lessons/6-Other/22-DeepRL/README.md) | [PyTorch](./lessons/6-Other/22-DeepRL/CartPole-RL-PyTorch.ipynb) /[TensorFlow](./lessons/6-Other/22-DeepRL/CartPole-RL-TF.ipynb) | [Lab](./lessons/6-Other/22-DeepRL/lab/README.md) |
|
||||
| 23 | [Multi-agent-systemer](./lessons/6-Other/23-MultiagentSystems/README.md) | | |
|
||||
| VII | **AI-etik** | | |
|
||||
| 24 | [AI-etik og ansvarlig AI](./lessons/7-Ethics/README.md) | [Microsoft Learn: Responsible AI Principles](https://docs.microsoft.com/learn/paths/responsible-ai-business-principles/?WT.mc_id=academic-77998-cacaste) | |
|
||||
| IX | **Ekstra** | | |
|
||||
| 25 | [Multimodale netværk, CLIP og VQGAN](./lessons/X-Extras/X1-MultiModal/README.md) | [Notebook](./lessons/X-Extras/X1-MultiModal/Clip.ipynb) | |
|
||||
| 25 | [Multi-modale netværk, CLIP og VQGAN](./lessons/X-Extras/X1-MultiModal/README.md) | [Notebook](./lessons/X-Extras/X1-MultiModal/Clip.ipynb) | |
|
||||
|
||||
## Hver lektion indeholder
|
||||
## Each lesson contains
|
||||
|
||||
* Forberedende læsemateriale
|
||||
* Eksekverbare Jupyter Notebooks, som ofte er specifikke for frameworket (**PyTorch** eller **TensorFlow**). Den eksekverbare notebook indeholder også en masse teoretisk materiale, så for at forstå emnet skal du gennemgå mindst én version af notebookten (enten PyTorch eller TensorFlow).
|
||||
* **Lab** tilgængelige for nogle emner, som giver dig mulighed for at prøve at anvende det materiale, du har lært, på et specifikt problem.
|
||||
* Eksekverbare Jupyter-notebooks, som ofte er specifikke for rammeværket (**PyTorch** eller **TensorFlow**). Den eksekverbare notebook indeholder også meget teoretisk materiale, så for at forstå emnet skal du gennemgå mindst én version af notebook'en (enten PyTorch eller TensorFlow).
|
||||
* **Labs** tilgængelige for nogle emner, som giver dig mulighed for at prøve at anvende det materiale, du har lært, på et specifikt problem.
|
||||
* Nogle sektioner indeholder links til [**MS Learn**](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) moduler, der dækker relaterede emner.
|
||||
|
||||
## Kom godt i gang
|
||||
## Getting Started
|
||||
|
||||
### 🎯 Ny inden for AI? Start her!
|
||||
### 🎯 New to AI? Start Here!
|
||||
|
||||
Hvis du er helt ny inden for AI og ønsker hurtige, praktiske eksempler, se vores [**Begynder-venlige eksempler**](./examples/README.md)! Disse inkluderer:
|
||||
If you're completely new to AI and want quick, hands-on examples, check out our [**Begynder-venlige eksempler**](./examples/README.md)! These include:
|
||||
|
||||
- 🌟 **Hello AI World** - Dit første AI-program (mønster-genkendelse)
|
||||
- 🌟 **Hello AI World** - Dit første AI-program (mønstergenkendelse)
|
||||
- 🧠 **Simple Neural Network** - Byg et neuralt netværk fra bunden
|
||||
- 🖼️ **Image Classifier** - Klassificer billeder med detaljerede kommentarer
|
||||
- 💬 **Tekststemning** - Analyser positiv/negativ tekst
|
||||
- 💬 **Tekst-sentiment** - Analyser positiv/negativ tekst
|
||||
|
||||
Disse eksempler er designet til at hjælpe dig med at forstå AI-koncepter, før du dykker ned i det fulde pensum.
|
||||
Disse eksempler er designet til at hjælpe dig med at forstå AI-koncepter, før du dykker ned i det fulde kursusforløb.
|
||||
|
||||
### 📚 Opsætning af hele pensum
|
||||
### 📚 Fuldt kursusopsætning
|
||||
|
||||
- Vi har oprettet en [opsætningslektion](./lessons/0-course-setup/setup.md) for at hjælpe dig med at sætte dit udviklingsmiljø op. - For undervisere har vi også oprettet en [pensumopsætningslektion](./lessons/0-course-setup/for-teachers.md) til jer!
|
||||
- Sådan [kører du koden i en VSCode eller en Codepace](./lessons/0-course-setup/how-to-run.md)
|
||||
- Vi har lavet en [opsætningslektion](./lessons/0-course-setup/setup.md) for at hjælpe dig med at opsætte dit udviklingsmiljø. - For undervisere, har vi også lavet en [pensumopsætningslektion](./lessons/0-course-setup/for-teachers.md) til jer!
|
||||
- Hvordan du [kører koden i VSCode eller i en Codepace](./lessons/0-course-setup/how-to-run.md)
|
||||
|
||||
Følg disse trin:
|
||||
|
||||
Fork the Repository: Click on the "Fork" button at the top-right corner of this page.
|
||||
Fork repositoryet: Klik på knappen "Fork" øverst til højre på denne side.
|
||||
|
||||
Clone the Repository: `git clone https://github.com/microsoft/AI-For-Beginners.git`
|
||||
Klon repositoryet: `git clone https://github.com/microsoft/AI-For-Beginners.git`
|
||||
|
||||
Don't forget to star (🌟) this repo to find it easier later.
|
||||
Glem ikke at give dette repo en stjerne (🌟), så du nemmere kan finde det senere.
|
||||
|
||||
## Mød andre deltagere
|
||||
## Mød andre kursister
|
||||
|
||||
Deltag i vores [officielle AI Discord-server](https://aka.ms/genai-discord?WT.mc_id=academic-105485-bethanycheum) for at møde og netværke med andre deltagere på dette kursus og få support.
|
||||
Deltag i vores [officielle AI Discord-server](https://aka.ms/genai-discord?WT.mc_id=academic-105485-bethanycheum) for at møde og netværke med andre kursister på dette kursus og få support.
|
||||
|
||||
Hvis du har produktfeedback eller spørgsmål mens du bygger, besøg vores [Azure AI Foundry Developer Forum](https://aka.ms/foundry/forum)
|
||||
Hvis du har produktfeedback eller spørgsmål, mens du bygger, besøg vores [Azure AI Foundry Developer Forum](https://aka.ms/foundry/forum)
|
||||
|
||||
## Quizzer
|
||||
|
||||
> **En note om quizzer**: Alle quizzer er indeholdt i Quiz-app-mappen i etc\quiz-app, eller [Online Her](https://ff-quizzes.netlify.app/) De er linket fra lektionerne, quiz-appen kan køres lokalt eller implementeres til Azure; følg instruktionerne i `quiz-app`-mappen. De bliver gradvist lokaliseret.
|
||||
> **Et notat om quizzer**: Alle quizzer er indeholdt i Quiz-app folderen i etc\quiz-app, eller [Online her](https://ff-quizzes.netlify.app/) De er linket fra lektionerne; quiz-appen kan køres lokalt eller implementeres til Azure; følg instruktionen i `quiz-app` folderen. De bliver gradvist lokaliseret.
|
||||
|
||||
## Hjælp ønskes
|
||||
|
||||
Har du forslag eller fundet stave- eller kodefejl? Opret en issue eller opret et pull request.
|
||||
Har du forslag eller har du fundet stave- eller kodefejl? Opret en issue eller opret et pull request.
|
||||
|
||||
## Særlige tak
|
||||
## Særlig tak
|
||||
|
||||
* **✍️ Hovedforfatter:** [Dmitry Soshnikov](http://soshnikov.com), PhD
|
||||
* **✍️ Primær forfatter:** [Dmitry Soshnikov](http://soshnikov.com), PhD
|
||||
* **🔥 Redaktør:** [Jen Looper](https://twitter.com/jenlooper), PhD
|
||||
* **🎨 Sketchnote-illustrator:** [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
* **✅ Quizskaber:** [Lateefah Bello](https://github.com/CinnamonXI), [MLSA](https://studentambassadors.microsoft.com/)
|
||||
|
|
@ -163,39 +162,39 @@ Har du forslag eller fundet stave- eller kodefejl? Opret en issue eller opret et
|
|||
|
||||
## Andre kursusforløb
|
||||
|
||||
Vores team producerer andre kursusforløb! Se:
|
||||
Vores team udgiver andre kursusforløb! Se:
|
||||
|
||||
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
|
||||
### LangChain
|
||||
[](https://aka.ms/langchain4j-for-beginners)
|
||||
[](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
|
||||
[](https://aka.ms/langchain4j-for-beginners)
|
||||
[](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
|
||||
|
||||
---
|
||||
|
||||
### Azure / Edge / MCP / Agents
|
||||
[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
### Azure / Edge / MCP / Agenter
|
||||
[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
|
||||
---
|
||||
|
||||
### Generativ AI-serie
|
||||
[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
|
||||
[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
|
||||
[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
|
||||
|
||||
---
|
||||
|
||||
### Kerneundervisning
|
||||
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
|
||||
[](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
### Kernekurser
|
||||
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
|
||||
[](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -207,17 +206,17 @@ Vores team producerer andre kursusforløb! Se:
|
|||
|
||||
## Få hjælp
|
||||
|
||||
Hvis du sidder fast eller har spørgsmål om at bygge AI-apps, så deltag sammen med andre kursister og erfarne udviklere i diskussioner om MCP. Det er et støttende fællesskab, hvor spørgsmål er velkomne og viden deles frit.
|
||||
Hvis du sidder fast eller har spørgsmål om at bygge AI-apps, så deltag i diskussioner med andre kursister og erfarne udviklere om MCP. Det er et støttende fællesskab, hvor spørgsmål er velkomne og viden deles frit.
|
||||
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
|
||||
Hvis du har produktfeedback eller oplever fejl, mens du bygger, besøg:
|
||||
Hvis du har produktfeedback eller oplever fejl under udviklingen, besøg:
|
||||
|
||||
[](https://aka.ms/foundry/forum)
|
||||
[](https://aka.ms/foundry/forum)
|
||||
|
||||
---
|
||||
|
||||
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
|
||||
Ansvarsfraskrivelse:
|
||||
Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten Co‑op Translator (https://github.com/Azure/co-op-translator). Selvom vi bestræber os på nøjagtighed, skal du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det oprindelige dokument på originalsproget bør betragtes som den autoritative kilde. For kritisk information anbefales professionel, menneskelig oversættelse. Vi er ikke ansvarlige for eventuelle misforståelser eller fejltolkninger, der opstår som følge af brugen af denne oversættelse.
|
||||
Dette dokument er oversat ved hjælp af AI-oversættelsestjenesten Co-op Translator (https://github.com/Azure/co-op-translator). Selvom vi bestræber os på nøjagtighed, bedes du være opmærksom på, at automatiske oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på originalsproget bør betragtes som den autoritative kilde. For væsentlige oplysninger anbefales professionel menneskelig oversættelse. Vi påtager os intet ansvar for misforståelser eller fejltolkninger, der måtte opstå ved brug af denne oversættelse.
|
||||
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
|
||||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Introduktion til AI
|
||||
|
||||

|
||||

|
||||
|
||||
> Sketchnote af [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
|
|
@ -19,7 +19,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
Oprindeligt blev computere opfundet af [Charles Babbage](https://en.wikipedia.org/wiki/Charles_Babbage) til at arbejde med tal ved at følge en veldefineret procedure - en algoritme. Moderne computere, selvom de er betydeligt mere avancerede end den oprindelige model foreslået i det 19. århundrede, følger stadig den samme idé om kontrollerede beregninger. Derfor er det muligt at programmere en computer til at udføre noget, hvis vi kender den præcise rækkefølge af trin, der skal til for at nå målet.
|
||||
|
||||

|
||||

|
||||
|
||||
> Foto af [Vickie Soshnikova](http://twitter.com/vickievalerie)
|
||||
|
||||
|
|
@ -46,7 +46,7 @@ For mere information henvises til **[Artificial General Intelligence](https://en
|
|||
|
||||
Et af problemerne ved at arbejde med begrebet **[Intelligens](https://en.wikipedia.org/wiki/Intelligence)** er, at der ikke findes en klar definition af dette begreb. Man kan argumentere for, at intelligens er forbundet med **abstrakt tænkning** eller **selvbevidsthed**, men vi kan ikke definere det præcist.
|
||||
|
||||

|
||||

|
||||
|
||||
> [Foto](https://unsplash.com/photos/75715CVEJhI) af [Amber Kipp](https://unsplash.com/@sadmax) fra Unsplash
|
||||
|
||||
|
|
@ -98,13 +98,13 @@ Alternativt kan vi forsøge at modellere de simpleste elementer i vores hjerne
|
|||
|
||||
> | Hvad med ML? | |
|
||||
> |--------------|-----------|
|
||||
> | En del af Kunstig Intelligens, der er baseret på, at computeren lærer at løse et problem baseret på nogle data, kaldes **Machine Learning**. Vi vil ikke overveje klassisk machine learning i dette kursus - vi henviser dig til en separat [Machine Learning for Beginners](http://aka.ms/ml-beginners) læseplan. |  |
|
||||
> | En del af Kunstig Intelligens, der er baseret på, at computeren lærer at løse et problem baseret på nogle data, kaldes **Machine Learning**. Vi vil ikke overveje klassisk machine learning i dette kursus - vi henviser dig til en separat [Machine Learning for Beginners](http://aka.ms/ml-beginners) læseplan. |  |
|
||||
|
||||
## En Kort Historie om AI
|
||||
|
||||
Kunstig Intelligens blev startet som et felt i midten af det tyvende århundrede. Oprindeligt var symbolsk ræsonnement en fremherskende tilgang, og det førte til en række vigtige succeser, såsom ekspertsystemer – computerprogrammer, der kunne fungere som en ekspert inden for nogle begrænsede problemområder. Det blev dog hurtigt klart, at en sådan tilgang ikke skalerer godt. At udtrække viden fra en ekspert, repræsentere det i en computer og holde denne vidensbase nøjagtig viser sig at være en meget kompleks opgave og for dyr til at være praktisk i mange tilfælde. Dette førte til den såkaldte [AI-vinter](https://en.wikipedia.org/wiki/AI_winter) i 1970'erne.
|
||||
|
||||
<img alt="Kort historie om AI" src="../../../../translated_images/history-of-ai.7e83efa70b537f5a0264357672b0884cf3a220fbafe35c65d70b2c3805f7bf5e.da.png" width="70%"/>
|
||||
<img alt="Kort historie om AI" src="../../../../translated_images/history-of-ai.7e83efa70b537f5a.da.png" width="70%"/>
|
||||
|
||||
> Billede af [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
@ -124,7 +124,7 @@ På samme måde kan vi se, hvordan tilgangen til at skabe "talende programmer" (
|
|||
* Moderne assistenter, såsom Cortana, Siri eller Google Assistant, er alle hybride systemer, der bruger neurale netværk til at konvertere tale til tekst og genkende vores intention, og derefter anvender noget ræsonnement eller eksplicitte algoritmer til at udføre de nødvendige handlinger.
|
||||
* I fremtiden kan vi forvente en komplet neural-baseret model til at håndtere dialoger selvstændigt. De seneste GPT- og [Turing-NLG](https://www.microsoft.com/research/blog/turing-nlg-a-17-billion-parameter-language-model-by-microsoft) familier af neurale netværk viser stor succes i dette.
|
||||
|
||||
<img alt="Turing-testens udvikling" src="../../../../translated_images/turing-test-evol.4184696701293ead6de6e6441a659c62f0b119b342456987f531005f43be0b6d.da.png" width="70%"/>
|
||||
<img alt="Turing-testens udvikling" src="../../../../translated_images/turing-test-evol.4184696701293ead.da.png" width="70%"/>
|
||||
> Billede af Dmitry Soshnikov, [foto](https://unsplash.com/photos/r8LmVbUKgns) af [Marina Abrosimova](https://unsplash.com/@abrosimova_marina_foto), Unsplash
|
||||
|
||||
## Nyere AI-forskning
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
"\n",
|
||||
"I dette eksempel vil vi implementere et simpelt vidensbaseret system til at bestemme et dyr baseret på nogle fysiske egenskaber. Systemet kan repræsenteres ved følgende OG-ELLER-træ (dette er en del af hele træet, vi kan nemt tilføje flere regler):\n",
|
||||
"\n",
|
||||
"\n"
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Videnrepræsentation og Ekspertsystemer
|
||||
|
||||

|
||||

|
||||
|
||||
> Sketchnote af [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
|
|
@ -41,7 +41,7 @@ Ofte definerer vi ikke viden strengt, men vi relaterer det til andre begreber ve
|
|||
|
||||
Problemet med **videnrepræsentation** er derfor at finde en effektiv måde at repræsentere viden i en computer i form af data, så den kan bruges automatisk. Dette kan ses som et spektrum:
|
||||
|
||||

|
||||

|
||||
|
||||
> Billede af [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
@ -94,7 +94,7 @@ Blok-syntaks | Indrykning | | |
|
|||
|
||||
En af de tidlige succeser inden for symbolsk AI var de såkaldte **ekspertsystemer** - computersystemer designet til at fungere som en ekspert inden for et begrænset problemområde. De var baseret på en **vidensbase** udtrukket fra en eller flere menneskelige eksperter og indeholdt en **slutningsmotor**, der udførte ræsonnement ovenpå den.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
---------------------------------------------|------------------------------------------------
|
||||
Forenklet struktur af et menneskeligt neuralt system | Arkitektur af et videnbaseret system
|
||||
|
||||
|
|
@ -106,7 +106,7 @@ Ekspertsystemer er bygget som det menneskelige ræsonnementsystem, der indeholde
|
|||
|
||||
Som et eksempel kan vi overveje følgende ekspertsystem til at bestemme et dyr baseret på dets fysiske egenskaber:
|
||||
|
||||

|
||||

|
||||
|
||||
> Billede af [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
|
|||
|
|
@ -1257,7 +1257,7 @@
|
|||
"* Lav træningstab - modellen kan tilpasse sig træningsdata godt, fordi den har tilstrækkelig udtrykskraft.\n",
|
||||
"* Valideringstab kan være meget højere end træningstab og kan begynde at stige under træningen - dette skyldes, at modellen \"husker\" træningspunkterne og mister det \"overordnede billede\".\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"> På dette billede står `x` for træningsdata, `o` for valideringsdata. Til venstre - lineær model (en-lags), den afspejler dataenes natur ret godt. Til højre - overfitted model, modellen tilpasser sig træningsdata perfekt, men giver ingen mening med andre data (valideringsfejlen er meget høj).\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ Overfitting er et ekstremt vigtigt begreb inden for maskinlæring, og det er meg
|
|||
|
||||
Overvej følgende problem med at approximere 5 punkter (repræsenteret ved `x` på graferne nedenfor):
|
||||
|
||||
 | 
|
||||
 | 
|
||||
-------------------------|--------------------------
|
||||
**Lineær model, 2 parametre** | **Ikke-lineær model, 7 parametre**
|
||||
Træningsfejl = 5.3 | Træningsfejl = 0
|
||||
|
|
@ -79,7 +79,7 @@ Det er meget vigtigt at finde den rette balance mellem modellens kompleksitet (a
|
|||
|
||||
Som du kan se på grafen ovenfor, kan overfitting opdages ved en meget lav træningsfejl og en høj valideringsfejl. Normalt under træning vil vi se både trænings- og valideringsfejl begynde at falde, og på et tidspunkt kan valideringsfejlen stoppe med at falde og begynde at stige. Dette vil være et tegn på overfitting og en indikator for, at vi sandsynligvis bør stoppe træningen på dette tidspunkt (eller i det mindste tage et snapshot af modellen).
|
||||
|
||||

|
||||

|
||||
|
||||
## Hvordan man forhindrer overfitting
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Introduktion til Neurale Netværk
|
||||
|
||||

|
||||

|
||||
|
||||
Som vi diskuterede i introduktionen, er en af måderne at opnå intelligens på at træne en **computermodel** eller en **kunstig hjerne**. Siden midten af det 20. århundrede har forskere prøvet forskellige matematiske modeller, indtil denne tilgang i de seneste år har vist sig at være enormt succesfuld. Sådanne matematiske modeller af hjernen kaldes **neurale netværk**.
|
||||
|
||||
|
|
@ -36,13 +36,13 @@ I dette pensum vil vi kun fokusere på neurale netværksmodeller.
|
|||
|
||||
Fra biologien ved vi, at vores hjerne består af nerveceller (neuroner), som hver har flere "inputs" (dendritter) og en enkelt "output" (axon). Både dendritter og axoner kan lede elektriske signaler, og forbindelserne mellem dem — kendt som synapser — kan udvise varierende grader af ledningsevne, som reguleres af neurotransmittere.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
----|----
|
||||
Ægte neuron *([Billede](https://en.wikipedia.org/wiki/Synapse#/media/File:SynapseSchematic_lines.svg) fra Wikipedia)* | Kunstig neuron *(Billede af forfatteren)*
|
||||
|
||||
Den simpleste matematiske model af en neuron indeholder således flere inputs X<sub>1</sub>, ..., X<sub>N</sub> og et output Y samt en række vægte W<sub>1</sub>, ..., W<sub>N</sub>. Et output beregnes som:
|
||||
|
||||
<img src="../../../../translated_images/netout.1eb15eb76fd767313e067719f400cec4b0e5090239c3e997c29f6789d4c3c263.da.png" alt="Y = f\left(\sum_{i=1}^N X_iW_i\right)" width="131" height="53" align="center"/>
|
||||
<img src="../../../../translated_images/netout.1eb15eb76fd76731.da.png" alt="Y = f\left(\sum_{i=1}^N X_iW_i\right)" width="131" height="53" align="center"/>
|
||||
|
||||
hvor f er en ikke-lineær **aktiveringsfunktion**.
|
||||
|
||||
|
|
|
|||
|
|
@ -73,14 +73,14 @@ I vores [OpenCV Notebook](OpenCV.ipynb) giver vi nogle eksempler på, hvornår c
|
|||
|
||||
* **Forbehandling af et fotografi af en Braille-bog**. Vi fokuserer på, hvordan vi kan bruge thresholding, feature detection, perspektivtransformation og NumPy-manipulationer til at adskille individuelle Braille-symboler til videre klassifikation af et neuralt netværk.
|
||||
|
||||
 |  | 
|
||||
 |  | 
|
||||
----|-----|-----
|
||||
|
||||
> Billede fra [OpenCV.ipynb](OpenCV.ipynb)
|
||||
|
||||
* **Detektion af bevægelse i video ved hjælp af frame difference**. Hvis kameraet er fast, bør frames fra kameraets feed være ret ens. Da frames er repræsenteret som arrays, vil vi ved blot at trække disse arrays fra hinanden for to efterfølgende frames få pixel-forskellen, som bør være lav for statiske frames og blive højere, når der er betydelig bevægelse i billedet.
|
||||
|
||||

|
||||

|
||||
|
||||
> Billede fra [OpenCV.ipynb](OpenCV.ipynb)
|
||||
|
||||
|
|
@ -89,7 +89,7 @@ I vores [OpenCV Notebook](OpenCV.ipynb) giver vi nogle eksempler på, hvornår c
|
|||
- **Dense Optical Flow** beregner vektorfeltet, der viser, hvor hver pixel bevæger sig hen.
|
||||
- **Sparse Optical Flow** er baseret på at tage nogle karakteristiske træk i billedet (f.eks. kanter) og bygge deres bane fra frame til frame.
|
||||
|
||||

|
||||

|
||||
|
||||
> Billede fra [OpenCV.ipynb](OpenCV.ipynb)
|
||||
|
||||
|
|
|
|||
|
|
@ -13,11 +13,11 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
VGG-16 er et netværk, der opnåede 92,7% nøjagtighed i ImageNet top-5 klassifikation i 2014. Det har følgende lagstruktur:
|
||||
|
||||

|
||||

|
||||
|
||||
Som du kan se, følger VGG en traditionel pyramidearkitektur, som er en sekvens af konvolutions- og pooling-lag.
|
||||
|
||||

|
||||

|
||||
|
||||
> Billede fra [Researchgate](https://www.researchgate.net/figure/Vgg16-model-structure-To-get-the-VGG-NIN-model-we-replace-the-2-nd-4-th-6-th-7-th_fig2_335194493)
|
||||
|
||||
|
|
|
|||
|
|
@ -260,7 +260,7 @@
|
|||
"\n",
|
||||
"Således vil der i en typisk CNN være flere konvolutionslag med pooling-lag imellem dem for at reducere dimensionerne af billedet. Vi vil også øge antallet af filtre, fordi mønstrene bliver mere avancerede – der er flere mulige interessante kombinationer, vi skal kigge efter.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"På grund af de reducerede rumlige dimensioner og de øgede feature-/filterdimensioner kaldes denne arkitektur også **pyramidearkitektur**.\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -358,7 +358,7 @@
|
|||
"\n",
|
||||
"Således vil en typisk CNN have flere konvolutionslag, med pooling-lag imellem dem for at reducere dimensionerne af billedet. Vi vil også øge antallet af filtre, fordi når mønstrene bliver mere avancerede, er der flere mulige interessante kombinationer, vi skal lede efter.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"På grund af de faldende rumlige dimensioner og stigende feature/filtre-dimensioner kaldes denne arkitektur også **pyramidearkitektur**.\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ I virkeligheden ønsker vi at kunne genkende objekter på et billede, uanset der
|
|||
|
||||
For at udtrække mønstre vil vi bruge begrebet **konvolutionelle filtre**. Som du ved, repræsenteres et billede af en 2D-matrix eller en 3D-tensor med farvedybde. At anvende et filter betyder, at vi tager en relativt lille **filterkerne**-matrix, og for hver pixel i det oprindelige billede beregner vi det vægtede gennemsnit med nabopunkterne. Vi kan se dette som et lille vindue, der glider hen over hele billedet og udjævner alle pixels i henhold til vægtene i filterkernematrixen.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
----|----
|
||||
|
||||
> Billede af Dmitry Soshnikov
|
||||
|
|
@ -38,7 +38,7 @@ Måden CNN'er fungerer på, er baseret på følgende vigtige idéer:
|
|||
* Vi kan designe netværket, så filtrene trænes automatisk
|
||||
* Vi kan bruge den samme tilgang til at finde mønstre i højere niveauer af funktioner, ikke kun i det oprindelige billede. CNN's funktionsekstraktion arbejder således på en hierarki af funktioner, der starter fra lavniveau-pixelkombinationer og går op til højere niveau-kombinationer af billeddele.
|
||||
|
||||

|
||||

|
||||
|
||||
> Billede fra [en artikel af Hislop-Lynch](https://www.semanticscholar.org/paper/Computer-vision-based-pedestrian-trajectory-Hislop-Lynch/26e6f74853fc9bbb7487b06dc2cf095d36c9021d), baseret på [deres forskning](https://dl.acm.org/doi/abs/10.1145/1553374.1553453)
|
||||
|
||||
|
|
@ -55,9 +55,9 @@ De fleste CNN'er, der bruges til billedbehandling, følger en såkaldt pyramidea
|
|||
|
||||
Som et eksempel kan vi se på arkitekturen af VGG-16, et netværk der opnåede 92,7% nøjagtighed i ImageNet's top-5 klassifikation i 2014:
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
> Billede fra [Researchgate](https://www.researchgate.net/figure/Vgg16-model-structure-To-get-the-VGG-NIN-model-we-replace-the-2-nd-4-th-6-th-7-th_fig2_335194493)
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ Du skal træne et konvolutionelt neuralt netværk til at klassificere forskellig
|
|||
|
||||
Vi vil bruge [Oxford-IIIT Pet Dataset](https://www.robots.ox.ac.uk/~vgg/data/pets/), som indeholder billeder af 37 forskellige racer af hunde og katte.
|
||||
|
||||

|
||||

|
||||
|
||||
For at downloade datasættet, brug denne kode:
|
||||
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@
|
|||
"\n",
|
||||
"For at visualisere den ideelle kat, starter vi med et tilfældigt støjbillede og forsøger at bruge gradient descent-optimeringsteknikken til at justere billedet, så netværket genkender en kat.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Her er vores startbillede:\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ Både Keras og PyTorch indeholder funktioner til nemt at indlæse forudtrænede
|
|||
|
||||
Her er eksempler på funktioner udtrukket fra et billede af en kat ved hjælp af VGG-16-netværket:
|
||||
|
||||

|
||||

|
||||
|
||||
## Datasæt: Katte vs. Hunde
|
||||
|
||||
|
|
@ -48,19 +48,19 @@ Et forudtrænet neuralt netværk indeholder forskellige mønstre i sin *hjerne*,
|
|||
|
||||
En tilgang, vi kan tage, er at starte med et tilfældigt billede og derefter bruge **gradient descent-optimering** til at justere billedet på en sådan måde, at netværket begynder at tro, at det er en kat.
|
||||
|
||||

|
||||

|
||||
|
||||
Hvis vi gør dette, vil vi dog få noget, der minder meget om tilfældig støj. Dette skyldes, at *der er mange måder at få netværket til at tro, at inputbilledet er en kat*, herunder nogle, der ikke giver mening visuelt. Selvom disse billeder indeholder mange mønstre, der er typiske for en kat, er der intet, der tvinger dem til at være visuelt genkendelige.
|
||||
|
||||
For at forbedre resultatet kan vi tilføje et andet led til tab-funktionen, som kaldes **variationstab**. Det er en måling, der viser, hvor ens nabopixels i billedet er. Ved at minimere variationstabet bliver billedet glattere og fjerner støj – hvilket afslører mere visuelt tiltalende mønstre. Her er et eksempel på sådanne "ideelle" billeder, der klassificeres som henholdsvis kat og zebra med høj sandsynlighed:
|
||||
|
||||
 | 
|
||||
 | 
|
||||
-----|-----
|
||||
*Ideel Kat* | *Ideel Zebra*
|
||||
|
||||
En lignende tilgang kan bruges til at udføre såkaldte **adversarielle angreb** på et neuralt netværk. Antag, at vi vil narre et neuralt netværk og få en hund til at ligne en kat. Hvis vi tager et billede af en hund, som netværket genkender som en hund, kan vi justere det lidt ved hjælp af gradient descent-optimering, indtil netværket begynder at klassificere det som en kat:
|
||||
|
||||
 | 
|
||||
 | 
|
||||
-----|-----
|
||||
*Originalt billede af en hund* | *Billede af en hund klassificeret som en kat*
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
"\n",
|
||||
"Da vi træner autoencoderen til at fange så meget information som muligt fra det originale billede for at opnå en præcis rekonstruktion, forsøger netværket at finde den bedste **indlejring** af inputbilleder for at fange meningen.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"> Billede fra [Keras blog](https://blog.keras.io/building-autoencoders-in-keras.html)\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
"\n",
|
||||
"Da vi træner autoencoderen til at fange så meget information som muligt fra det originale billede for at opnå en præcis rekonstruktion, forsøger netværket at finde den bedste **embedding** af inputbillederne for at fange meningen.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Billede fra [Keras blog](https://blog.keras.io/building-autoencoders-in-keras.html)*\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ Vi kan dog ønske at bruge rå (umærkede) data til at træne CNN-featureekstrak
|
|||
|
||||
Da vi træner en autoencoder til at fange så meget information som muligt fra det oprindelige billede for at opnå en præcis rekonstruktion, forsøger netværket at finde den bedste **indlejring** af inputbilleder for at fange meningen.
|
||||
|
||||

|
||||

|
||||
|
||||
> Billede fra [Keras blog](https://blog.keras.io/building-autoencoders-in-keras.html)
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ De billedklassifikationsmodeller, vi hidtil har arbejdet med, tog et billede og
|
|||
|
||||
## [Quiz før lektionen](https://ff-quizzes.netlify.app/en/ai/quiz/21)
|
||||
|
||||

|
||||

|
||||
|
||||
> Billede fra [YOLO v2 hjemmeside](https://pjreddie.com/darknet/yolov2/)
|
||||
|
||||
|
|
@ -25,7 +25,7 @@ Hvis vi antager, at vi vil finde en kat på et billede, kunne en meget naiv tilg
|
|||
2. Kør billedklassifikation på hver flise.
|
||||
3. De fliser, der resulterer i tilstrækkelig høj aktivering, kan betragtes som indeholdende det ønskede objekt.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Billede fra [Øvelsesnotebook](ObjectDetection-TF.ipynb)*
|
||||
|
||||
|
|
@ -42,7 +42,7 @@ Du kan støde på følgende datasæt til denne opgave:
|
|||
* [PASCAL VOC](http://host.robots.ox.ac.uk/pascal/VOC/) - 20 klasser
|
||||
* [COCO](http://cocodataset.org/#home) - Common Objects in Context. 80 klasser, afgrænsningsbokse og segmenteringsmasker
|
||||
|
||||

|
||||

|
||||
|
||||
## Metrikker for objektgenkendelse
|
||||
|
||||
|
|
@ -50,7 +50,7 @@ Du kan støde på følgende datasæt til denne opgave:
|
|||
|
||||
Mens det er nemt at måle, hvor godt en algoritme klarer sig i billedklassifikation, skal vi i objektgenkendelse måle både korrektheden af klassen og præcisionen af den forudsagte placering af afgrænsningsboksen. Til det sidste bruger vi den såkaldte **Intersection over Union** (IoU), som måler, hvor godt to bokse (eller to vilkårlige områder) overlapper.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Figur 2 fra [dette fremragende blogindlæg om IoU](https://pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/)*
|
||||
|
||||
|
|
@ -98,11 +98,11 @@ Der er to brede klasser af algoritmer til objektgenkendelse:
|
|||
|
||||
[R-CNN](http://islab.ulsan.ac.kr/files/announcement/513/rcnn_pami.pdf) bruger [Selective Search](http://www.huppelen.nl/publications/selectiveSearchDraft.pdf) til at generere en hierarkisk struktur af ROI-regioner, som derefter sendes gennem CNN-featureekstraktorer og SVM-klassifikatorer for at bestemme objektklassen og lineær regression for at bestemme *afgrænsningsboksens* koordinater. [Officiel artikel](https://arxiv.org/pdf/1506.01497v1.pdf)
|
||||
|
||||

|
||||

|
||||
|
||||
> *Billede fra van de Sande et al. ICCV’11*
|
||||
|
||||

|
||||

|
||||
|
||||
> *Billeder fra [denne blog](https://towardsdatascience.com/r-cnn-fast-r-cnn-faster-r-cnn-yolo-object-detection-algorithms-36d53571365e)*
|
||||
|
||||
|
|
@ -110,7 +110,7 @@ Der er to brede klasser af algoritmer til objektgenkendelse:
|
|||
|
||||
Denne tilgang ligner R-CNN, men regioner defineres efter, at konvolutionslagene er blevet anvendt.
|
||||
|
||||

|
||||

|
||||
|
||||
> Billede fra [den officielle artikel](https://www.cv-foundation.org/openaccess/content_iccv_2015/papers/Girshick_Fast_R-CNN_ICCV_2015_paper.pdf), [arXiv](https://arxiv.org/pdf/1504.08083.pdf), 2015
|
||||
|
||||
|
|
@ -118,7 +118,7 @@ Denne tilgang ligner R-CNN, men regioner defineres efter, at konvolutionslagene
|
|||
|
||||
Hovedideen med denne tilgang er at bruge et neuralt netværk til at forudsige ROIs – det såkaldte *Region Proposal Network*. [Artikel](https://arxiv.org/pdf/1506.01497.pdf), 2016
|
||||
|
||||

|
||||

|
||||
|
||||
> Billede fra [den officielle artikel](https://arxiv.org/pdf/1506.01497.pdf)
|
||||
|
||||
|
|
@ -130,7 +130,7 @@ Denne algoritme er endnu hurtigere end Faster R-CNN. Hovedideen er følgende:
|
|||
2. Features behandles af **Position-Sensitive Score Map**. Hvert objekt fra $C$ klasser opdeles i $k\times k$ regioner, og vi træner til at forudsige dele af objekter.
|
||||
3. For hver del fra $k\times k$ regioner stemmer alle netværk for objektklasser, og den objektklasse med flest stemmer vælges.
|
||||
|
||||

|
||||

|
||||
|
||||
> Billede fra [officiel artikel](https://arxiv.org/abs/1605.06409)
|
||||
|
||||
|
|
@ -141,7 +141,7 @@ YOLO er en realtids one-pass algoritme. Hovedideen er følgende:
|
|||
* Billedet opdeles i $S\times S$ regioner.
|
||||
* For hver region forudsiger **CNN** $n$ mulige objekter, *afgrænsningsboksens* koordinater og *tillid*=*sandsynlighed* * IoU.
|
||||
|
||||

|
||||

|
||||
|
||||
> Billede fra [officiel artikel](https://arxiv.org/abs/1506.02640)
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Computer Vision
|
||||
|
||||

|
||||

|
||||
|
||||
I denne sektion vil vi lære om:
|
||||
|
||||
|
|
|
|||
|
|
@ -199,7 +199,7 @@
|
|||
"\n",
|
||||
"**Bag of Words** (BoW) vektorrepræsentation er den mest almindeligt anvendte traditionelle vektorrepræsentation. Hvert ord er knyttet til en vektorindeks, og vektorelementet indeholder antallet af forekomster af et ord i et givet dokument.\n",
|
||||
"\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"\n",
|
||||
"> **Note**: Du kan også tænke på BoW som en sum af alle one-hot-kodede vektorer for de enkelte ord i teksten.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -188,7 +188,7 @@
|
|||
"\n",
|
||||
"**Bag-of-words** (BoW) vektorrepræsentation er den mest simple og letforståelige traditionelle vektorrepræsentation. Hvert ord er knyttet til en vektorindeks, og et vektorelement indeholder antallet af forekomster af hvert ord i et givent dokument.\n",
|
||||
"\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"\n",
|
||||
"> **Note**: Du kan også tænke på BoW som en sum af alle one-hot-enkodede vektorer for de enkelte ord i teksten.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@
|
|||
"\n",
|
||||
"Ved at bruge embedding-laget som det første lag i vores netværk kan vi skifte fra bag-of-words til en **embedding bag**-model, hvor vi først konverterer hvert ord i vores tekst til den tilsvarende embedding og derefter beregner en eller anden aggregeringsfunktion over alle disse embeddings, såsom `sum`, `average` eller `max`.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Vores klassifikator-neurale netværk vil starte med et embedding-lag, derefter et aggregeringslag og en lineær klassifikator ovenpå:\n"
|
||||
]
|
||||
|
|
@ -176,7 +176,7 @@
|
|||
"\n",
|
||||
"I den tidligere arkitektur var vi nødt til at udfylde alle sekvenser til samme længde for at passe dem ind i en minibatch. Dette er ikke den mest effektive måde at repræsentere sekvenser med variabel længde på - en anden tilgang ville være at bruge en **offset**-vektor, som indeholder offsets for alle sekvenser, der er gemt i én stor vektor.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"> **Note**: På billedet ovenfor viser vi en sekvens af tegn, men i vores eksempel arbejder vi med sekvenser af ord. Dog forbliver det generelle princip om at repræsentere sekvenser med en offset-vektor det samme.\n",
|
||||
"\n",
|
||||
|
|
@ -311,7 +311,7 @@
|
|||
"\n",
|
||||
"CBoW er hurtigere, mens skip-gram er langsommere, men gør et bedre stykke arbejde med at repræsentere sjældne ord.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"For at eksperimentere med word2vec embedding fortrænet på Google News-datasættet kan vi bruge **gensim**-biblioteket. Nedenfor finder vi de ord, der minder mest om 'neural'.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
"\n",
|
||||
"Ved at bruge et embedding-lag som det første lag i vores netværk kan vi skifte fra bag-of-words til en **embedding bag**-model, hvor vi først konverterer hvert ord i vores tekst til den tilsvarende embedding og derefter beregner en aggregeringsfunktion over alle disse embeddings, såsom `sum`, `average` eller `max`.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Vores klassifikator-neurale netværk består af følgende lag:\n",
|
||||
"\n",
|
||||
|
|
@ -283,7 +283,7 @@
|
|||
"\n",
|
||||
"CBoW er hurtigere, og selvom skip-gram er langsommere, er det bedre til at repræsentere sjældne ord.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"For at eksperimentere med Word2Vec-indlejringen, der er fortrænet på Google News-datasættet, kan vi bruge **gensim**-biblioteket. Nedenfor finder vi de ord, der minder mest om 'neural'.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ Så indlejringslaget vil tage et ord som input og producere en outputvektor med
|
|||
|
||||
Ved at bruge et indlejringslag som det første lag i vores klassifikationsnetværk kan vi skifte fra en bag-of-words til en **embedding bag** model, hvor vi først konverterer hvert ord i vores tekst til den tilsvarende indlejring og derefter beregner en aggregeringsfunktion over alle disse indlejringer, såsom `sum`, `average` eller `max`.
|
||||
|
||||

|
||||

|
||||
|
||||
> Billede af forfatteren
|
||||
|
||||
|
|
@ -40,7 +40,7 @@ For at gøre dette skal vi fortræne vores indlejringsmodel på en stor samling
|
|||
|
||||
CBoW er hurtigere, mens skip-gram er langsommere, men gør et bedre arbejde med at repræsentere sjældne ord.
|
||||
|
||||

|
||||

|
||||
|
||||
> Billede fra [denne artikel](https://arxiv.org/pdf/1301.3781.pdf)
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ I vores tidligere eksempler brugte vi fortrænede semantiske indlejringer, men d
|
|||
* **Continuous Bag-of-Words** (CBoW), hvor vi forudsiger det midterste token $W_0$ i en token-sekvens $W_{-N}$, ..., $W_N$.
|
||||
* **Skip-gram**, hvor vi forudsiger et sæt af nabotokens {$W_{-N},\dots, W_{-1}, W_1,\dots, W_N$} ud fra det midterste token $W_0$.
|
||||
|
||||

|
||||

|
||||
|
||||
> Billede fra [denne artikel](https://arxiv.org/pdf/1301.3781.pdf)
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ I de tidligere afsnit har vi brugt rige semantiske repræsentationer af tekst og
|
|||
|
||||
For at fange betydningen af tekstsekvenser skal vi bruge en anden neural netværksarkitektur, som kaldes et **rekurrent neuralt netværk**, eller RNN. I RNN sender vi vores sætning gennem netværket én symbol ad gangen, og netværket producerer en **tilstand**, som vi derefter sender tilbage til netværket sammen med det næste symbol.
|
||||
|
||||

|
||||

|
||||
|
||||
> Billede af forfatteren
|
||||
|
||||
|
|
@ -61,7 +61,7 @@ Vi har diskuteret rekurrente netværk, der opererer i én retning, fra begyndels
|
|||
|
||||
Et rekurrent netværk, enten én-retnings eller bidirektionelt, fanger visse mønstre inden for en sekvens og kan gemme dem i en tilstandsvektor eller sende dem til output. Ligesom med konvolutionelle netværk kan vi bygge et andet rekurrent lag oven på det første for at fange højere niveau mønstre og bygge videre på lav-niveau mønstre, der er udtrukket af det første lag. Dette fører os til begrebet **flerlags RNN**, som består af to eller flere rekurrente netværk, hvor output fra det foregående lag sendes til det næste lag som input.
|
||||
|
||||

|
||||

|
||||
|
||||
*Billede fra [denne vidunderlige artikel](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) af Fernando López*
|
||||
|
||||
|
|
|
|||
|
|
@ -422,7 +422,7 @@
|
|||
"\n",
|
||||
"Et rekurrent netværk, enten én-retnings eller bidirektionelt, fanger visse mønstre inden for en sekvens og kan gemme dem i en tilstandsvektor eller sende dem videre til output. Ligesom med konvolutionelle netværk kan vi bygge et andet rekurrent lag oven på det første for at fange mønstre på et højere niveau, bygget fra lav-niveau mønstre, som det første lag har udtrukket. Dette fører os til begrebet **flerlags RNN**, som består af to eller flere rekurrente netværk, hvor output fra det foregående lag sendes til det næste lag som input.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Billede fra [denne fantastiske artikel](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) af Fernando López*\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
"\n",
|
||||
"For at fange betydningen af en tekstsekvens vil vi bruge en neural netværksarkitektur kaldet **rekurrente neurale netværk**, eller RNN. Når vi bruger en RNN, sender vi vores sætning gennem netværket én token ad gangen, og netværket producerer en **tilstand**, som vi derefter sender videre til netværket sammen med den næste token.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Givet inputsekvensen af tokens $X_0,\\dots,X_n$, skaber RNN en sekvens af neurale netværksblokke og træner denne sekvens ende-til-ende ved hjælp af backpropagation. Hver netværksblok tager et par $(X_i,S_i)$ som input og producerer $S_{i+1}$ som resultat. Den endelige tilstand $S_n$ eller output $Y_n$ går ind i en lineær klassifikator for at producere resultatet. Alle netværksblokke deler de samme vægte og trænes ende-til-ende ved hjælp af én backpropagation-pass.\n",
|
||||
"\n",
|
||||
|
|
@ -369,7 +369,7 @@
|
|||
"\n",
|
||||
"Rekurrente netværk, enten unidirektionelle eller bidirektionelle, fanger mønstre inden for en sekvens og gemmer dem i tilstandsvektorer eller returnerer dem som output. Ligesom med konvolutionelle netværk kan vi bygge et andet rekurrent lag efter det første for at fange mønstre på et højere niveau, bygget fra mønstre på lavere niveau, som det første lag har udtrukket. Dette fører os til begrebet **flerlags RNN**, som består af to eller flere rekurrente netværk, hvor outputtet fra det foregående lag gives videre til det næste lag som input.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Billede fra [denne fantastiske artikel](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) af Fernando López.*\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@
|
|||
"\n",
|
||||
"Måden, vi vil træne en RNN til at generere tekst, er som følger. Ved hvert trin tager vi en sekvens af tegn med længden `nchars` og beder netværket om at generere det næste outputtegn for hvert inputtegn:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Afhængigt af det konkrete scenarie kan vi også ønske at inkludere nogle specialtegn, såsom *end-of-sequence* `<eos>`. I vores tilfælde ønsker vi blot at træne netværket til uendelig tekstgenerering, så vi vil fastsætte størrelsen af hver sekvens til at være lig med `nchars` tokens. Derfor vil hvert træningseksempel bestå af `nchars` input og `nchars` output (hvilket er inputsekvensen forskudt med ét symbol til venstre). En minibatch vil bestå af flere sådanne sekvenser.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@
|
|||
"\n",
|
||||
"Måden, vi vil træne RNN til at generere nyhedstitler, er som følger. Ved hvert trin tager vi en titel, som bliver fodret ind i en RNN, og for hvert inputtegn beder vi netværket om at generere det næste outputtegn:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"For det sidste tegn i vores sekvens beder vi netværket om at generere `<eos>`-token.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ I RNN-arkitekturen, som vi diskuterede i den forrige enhed, producerede hver RNN
|
|||
|
||||
Dette muliggør forskellige neurale arkitekturer, som vist på billedet nedenfor:
|
||||
|
||||

|
||||

|
||||
|
||||
> Billede fra blogindlægget [Unreasonable Effectiveness of Recurrent Neural Networks](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) af [Andrej Karpaty](http://karpathy.github.io/)
|
||||
|
||||
|
|
@ -32,7 +32,7 @@ I denne enhed vil vi fokusere på simple generative modeller, der hjælper os me
|
|||
|
||||
Vi vil træne denne RNN til at generere tekst trin for trin. Ved hvert trin tager vi en sekvens af tegn med længden `nchars` og beder netværket om at generere det næste outputtegn for hvert inputtegn:
|
||||
|
||||

|
||||

|
||||
|
||||
Når vi genererer tekst (under inferens), starter vi med en **prompt**, som sendes gennem RNN-celler for at generere dens mellemliggende tilstand, og derefter starter genereringen fra denne tilstand. Vi genererer ét tegn ad gangen og sender tilstanden og det genererede tegn til en anden RNN-celle for at generere det næste, indtil vi har genereret nok tegn.
|
||||
|
||||
|
|
|
|||
|
|
@ -20,13 +20,13 @@ Med RNN'er implementeres sekvens-til-sekvens med to rekurrente netværk, hvor de
|
|||
|
||||
**Attention Mekanismer** giver en metode til at vægte den kontekstuelle indflydelse af hver inputvektor på hver outputforudsigelse i RNN. Dette implementeres ved at skabe genveje mellem de mellemliggende tilstande i input-RNN og output-RNN. På denne måde, når vi genererer outputsymbol y<sub>t</sub>, tager vi alle input skjulte tilstande h<sub>i</sub> i betragtning med forskellige vægtkoefficienter α<sub>t,i</sub>.
|
||||
|
||||

|
||||

|
||||
|
||||
> Encoder-decoder modellen med additiv attention mekanisme i [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), citeret fra [denne blogpost](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)
|
||||
|
||||
Attention-matrixen {α<sub>i,j</sub>} repræsenterer graden af, hvor meget visse inputord spiller en rolle i genereringen af et givet ord i outputsekvensen. Nedenfor er et eksempel på en sådan matrix:
|
||||
|
||||

|
||||

|
||||
|
||||
> Figur fra [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Fig.3)
|
||||
|
||||
|
|
@ -66,7 +66,7 @@ Resultatet, vi får med positionskodning, embedder både det originale token og
|
|||
|
||||
Dernæst skal vi fange nogle mønstre inden for vores sekvens. For at gøre dette bruger transformers en **self-attention** mekanisme, som i bund og grund er attention anvendt på den samme sekvens som input og output. Ved at anvende self-attention kan vi tage **kontekst** inden for sætningen i betragtning og se, hvilke ord der er relaterede. For eksempel giver det os mulighed for at se, hvilke ord der refereres til af coreferencer, såsom *det*, og også tage konteksten i betragtning:
|
||||
|
||||

|
||||

|
||||
|
||||
> Billede fra [Google Blog](https://research.googleblog.com/2017/08/transformer-novel-neural-network.html)
|
||||
|
||||
|
|
@ -91,7 +91,7 @@ Da hver inputposition uafhængigt kortlægges til hver outputposition, kan trans
|
|||
|
||||
**BERT** (Bidirectional Encoder Representations from Transformers) er et meget stort multi-lags transformer-netværk med 12 lag for *BERT-base* og 24 for *BERT-large*. Modellen trænes først på en stor tekstkorpus (Wikipedia + bøger) ved hjælp af usuperviseret træning (forudsige maskerede ord i en sætning). Under pre-træning absorberer modellen betydelige niveauer af sprogforståelse, som derefter kan udnyttes med andre datasæt ved hjælp af finjustering. Denne proces kaldes **transfer learning**.
|
||||
|
||||

|
||||

|
||||
|
||||
> Billede [kilde](http://jalammar.github.io/illustrated-bert/)
|
||||
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@
|
|||
"\n",
|
||||
"**Opmærksomhedsmekanismer** giver en metode til at vægte den kontekstuelle indflydelse af hver inputvektor på hver outputforudsigelse i RNN. Dette implementeres ved at skabe genveje mellem de mellemliggende tilstande i input-RNN og output-RNN. På denne måde, når vi genererer outputsymbolet $y_t$, tager vi højde for alle skjulte inputtilstande $h_i$ med forskellige vægtkoefficienter $\\alpha_{t,i}$. \n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Encoder-decoder-modellen med additiv opmærksomhedsmekanisme i [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), citeret fra [denne blogpost](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)*\n",
|
||||
"\n",
|
||||
"Opmærksomhedsmatricen $\\{\\alpha_{i,j}\\}$ repræsenterer graden, hvormed visse inputord spiller en rolle i genereringen af et givet ord i outputsekvensen. Nedenfor er et eksempel på en sådan matrix:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Figur taget fra [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Fig.3)*\n",
|
||||
"\n",
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
"\n",
|
||||
"**BERT** (Bidirectional Encoder Representations from Transformers) er et meget stort flerlagstransformernetværk med 12 lag for *BERT-base* og 24 for *BERT-large*. Modellen fortrænes først på en stor tekstkorpus (Wikipedia + bøger) ved hjælp af usuperviseret træning (forudsige maskerede ord i en sætning). Under fortræningen absorberer modellen et betydeligt niveau af sprogforståelse, som derefter kan udnyttes med andre datasæt ved hjælp af finjustering. Denne proces kaldes **transfer learning**. \n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Der findes mange variationer af Transformer-arkitekturer, herunder BERT, DistilBERT, BigBird, OpenGPT3 og flere, som kan finjusteres. [HuggingFace-pakken](https://github.com/huggingface/) giver et bibliotek til træning af mange af disse arkitekturer med PyTorch. \n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@
|
|||
"\n",
|
||||
"**Opmærksomhedsmekanismer** giver en metode til at vægte den kontekstuelle indflydelse af hver inputvektor på hver outputforudsigelse af RNN. Dette implementeres ved at skabe genveje mellem de mellemliggende tilstande i input-RNN og output-RNN. På denne måde, når vi genererer outputsymbolet $y_t$, tager vi højde for alle skjulte inputtilstande $h_i$ med forskellige vægtkoefficienter $\\alpha_{t,i}$.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Encoder-decoder-modellen med additiv opmærksomhedsmekanisme i [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), citeret fra [denne blogpost](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)*\n",
|
||||
"\n",
|
||||
"Opmærksomhedsmatrixen $\\{\\alpha_{i,j}\\}$ repræsenterer graden, som visse inputord spiller i genereringen af et givet ord i outputsekvensen. Nedenfor er et eksempel på en sådan matrix:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Figur taget fra [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Fig.3)*\n",
|
||||
"\n",
|
||||
|
|
@ -231,7 +231,7 @@
|
|||
"\n",
|
||||
"**BERT** (Bidirectional Encoder Representations from Transformers) er et meget stort multi-lags transformer-netværk med 12 lag for *BERT-base* og 24 for *BERT-large*. Modellen bliver først forudtrænet på en stor mængde tekstdata (Wikipedia + bøger) ved hjælp af usuperviseret træning (forudsige maskerede ord i en sætning). Under forudtræningen opnår modellen en betydelig forståelse af sproget, som derefter kan udnyttes med andre datasæt gennem finjustering. Denne proces kaldes **transfer learning**.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Der findes mange variationer af Transformer-arkitekturer, herunder BERT, DistilBERT, BigBird, OpenGPT3 og flere, som kan finjusteres.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ spædbarn | O
|
|||
|
||||
Da vi skal opbygge en én-til-én-korrespondance mellem tokens og klasser, kan vi træne en højreorienteret **mange-til-mange** neuralt netværksmodel fra dette billede:
|
||||
|
||||

|
||||

|
||||
|
||||
> *Billede fra [denne blogpost](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) af [Andrej Karpathy](http://karpathy.github.io/). NER-tokenklassifikationsmodeller svarer til den højreorienterede netværksarkitektur på dette billede.*
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Naturlig Sprogbehandling
|
||||
|
||||

|
||||

|
||||
|
||||
I denne sektion vil vi fokusere på at bruge neurale netværk til at håndtere opgaver relateret til **naturlig sprogbehandling (NLP)**. Der er mange NLP-problemer, som vi ønsker, at computere skal kunne løse:
|
||||
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ Du kan åbne en af modellerne, for eksempel **Biology → Flocking**.
|
|||
|
||||
Efter åbning af modellen kommer du til NetLogos hovedskærm. Her er en eksempelmodel, der beskriver populationen af ulve og får, givet begrænsede ressourcer (græs).
|
||||
|
||||

|
||||

|
||||
|
||||
> Skærmbillede af Dmitry Soshnikov
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Oversigt
|
||||
|
||||

|
||||

|
||||
|
||||
> Sketchnote af [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ Efter succesen med transformer-modeller til løsning af NLP-opgaver, er de samme
|
|||
|
||||
Hovedideen med CLIP er at kunne sammenligne tekstprompter med et billede og afgøre, hvor godt billedet svarer til prompten.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Billede fra [denne blogpost](https://openai.com/blog/clip/)*
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ Når denne model er fortrænet, kan vi give den en batch af billeder og en batch
|
|||
|
||||
Antag, at vi skal klassificere billeder mellem f.eks. katte, hunde og mennesker. I dette tilfælde kan vi give modellen et billede og en række tekstprompter: "*et billede af en kat*", "*et billede af en hund*", "*et billede af et menneske*". I den resulterende vektor med 3 sandsynligheder skal vi blot vælge det indeks med den højeste værdi.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Billede fra [denne blogpost](https://openai.com/blog/clip/)*
|
||||
|
||||
|
|
@ -53,13 +53,13 @@ Lær mere om VQGAN på [Taming Transformers](https://compvis.github.io/taming-tr
|
|||
|
||||
En af de vigtige forskelle mellem VQGAN og traditionelle GAN er, at sidstnævnte kan producere et anstændigt billede fra enhver inputvektor, mens VQGAN sandsynligvis vil producere et billede, der ikke er sammenhængende. Derfor skal vi yderligere vejlede billedskabelsesprocessen, og det kan gøres ved hjælp af CLIP.
|
||||
|
||||

|
||||

|
||||
|
||||
For at generere et billede, der svarer til en tekstprompt, starter vi med en tilfældig kodningsvektor, der sendes gennem VQGAN for at producere et billede. Derefter bruges CLIP til at producere en tab-funktion, der viser, hvor godt billedet svarer til tekstprompten. Målet er derefter at minimere denne tab ved hjælp af backpropagation for at justere inputvektorens parametre.
|
||||
|
||||
Et fantastisk bibliotek, der implementerer VQGAN+CLIP, er [Pixray](http://github.com/pixray/pixray).
|
||||
|
||||
 |  | 
|
||||
 |  | 
|
||||
----|----|----
|
||||
Billede genereret fra prompten *et nærbillede akvarelportræt af en ung mandlig litteraturlærer med en bog* | Billede genereret fra prompten *et nærbillede oliemaleri af en ung kvindelig lærer i datalogi med en computer* | Billede genereret fra prompten *et nærbillede oliemaleri af en ældre mandlig matematiklærer foran en tavle*
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue