Hands On de IA

André Claudino

André Claudino

https://www.linkedin.com/in/andreclaudino/

https://github.com/andreclaudino

http://t.me/aclaudino

  • PhD. Física Computacional
  • Time IA Front
  • Autor do Livro ML Ops
  • Professor
  • Youtuber Iniciante

Exemplo

Classificador de texto

Classificador de texto

  • Transferência de aprendizado
  • Modularizado
  • Pode ser reusado
  • Pode ser retreinado

Modelo

Encoder

Classificador

Ambiente

  • Criar virtualenv
  • Criar setup.py
$> python3.6 -m virtualenv venv
$> sourve venv/bin/activate
$> nano setup.py
from setuptools import setup, find_packages

setup(
    name='classificador',
    version='',
    packages=find_packages(),
    url='',
    license='',
    author='Time IA-FRONT',
    author_email='',
    description='',
    install_requires=[
        "tensorflow==2.1.0",
        "click==7.1.2"
    ]
)

Coletar dados de arquivos

from typing import Sequence, Optional

import tensorflow as tf

PRELOAD_FACTOR = 3


def load_microdata_from_csv(path: str, defaults: Sequence[tf.Tensor], batch_size: int,
                            repeats: Optional[int] = None,
                            limit: Optional[int] = None) -> tf.data.Dataset:
    buffer_size = PRELOAD_FACTOR*batch_size
    
    dataset = tf.data.experimental.CsvDataset(
                path, defaults, buffer_size=buffer_size,
                header=True, select_cols=None
              ).shuffle(buffer_size)

    dataset = dataset.limit(limit) if limit else dataset
    dataset = dataset.repeat(repeats) if repeats else dataset

    return dataset.batch(batch_size)

Hands On

Aprendizagem por Reforço

Como funciona?

  • Aprende comportamento em troca de recompensa
  • Genérico para problemas diferentes
  • (Usado quando nada mais dá certo)

Fluxo

Q-Learning

Equação de Bellman

Q-Learning

Pong

Regras

  • Bastões só se movem na vertical
  • Se a bota tocar os cantos verticais da tela, jogo é encerrado
  • Quem lança a bola para a parede oposta ganha um ponto
  • Bola acelera quando é rebatida
  • Bola é refletida nos cantos superior e inferior

Regras na IA

  • Bater na bola aumenta recompensa
  • Quanto maior a distância vertical da bola, menor a recompensa
  • Ganhar o jogo aumenta a recompensa
  • Perder o jogo diminui a recompensa
  • Sair da tela diminui a recompensa
  • Ações possíveis são subir, descer e não fazer nada

Hands On

Valeu!

https://www.linkedin.com/in/andreclaudino/

https://github.com/andreclaudino

http://t.me/aclaudino

Made with Slides.com