<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arquivos redes neurais - Diego Nogare</title>
	<atom:link href="https://diegonogare.net/tags/redes-neurais/feed/" rel="self" type="application/rss+xml" />
	<link>https://diegonogare.net/tags/redes-neurais/</link>
	<description>Consultor Executivo de IA &#38; ML</description>
	<lastBuildDate>Tue, 13 Jan 2026 13:56:11 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/06/cropped-cropped-DN-Black-300x300-1.png?fit=32%2C32&#038;ssl=1</url>
	<title>Arquivos redes neurais - Diego Nogare</title>
	<link>https://diegonogare.net/tags/redes-neurais/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">247556142</site>	<item>
		<title>Função de Ativação &#8211; O cérebro matemático das Redes Neurais Artificiais</title>
		<link>https://diegonogare.net/2025/12/funcao-de-ativacao-o-cerebro-matematico-das-redes-neurais-artificiais/</link>
		
		<dc:creator><![CDATA[Diego Nogare]]></dc:creator>
		<pubDate>Mon, 08 Dec 2025 11:27:03 +0000</pubDate>
				<category><![CDATA[Inteligência Artificial]]></category>
		<category><![CDATA[ciência de dados]]></category>
		<category><![CDATA[Deep Learning]]></category>
		<category><![CDATA[Funções de Ativação]]></category>
		<category><![CDATA[inteligencia artificial]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[redes neurais]]></category>
		<category><![CDATA[ReLU]]></category>
		<category><![CDATA[Sigmoide]]></category>
		<category><![CDATA[Softmax]]></category>
		<category><![CDATA[Tanh]]></category>
		<guid isPermaLink="false">https://diegonogare.net/?p=4471</guid>

					<description><![CDATA[<p>A essência de uma Rede Neural Artiificial reside em sua capacidade de processar dados e encontrar padrões complexos. Para entender as funções de ativação, primeiramente devemos olhar para a estrutura básica de um neurônio artificial. Inicialmente, o neurônio recebe entradas (inputs), multiplica-as por pesos (weights) específicos e soma um viés (bias). Contudo, o resultado dessa operação...</p>
<p>O post <a href="https://diegonogare.net/2025/12/funcao-de-ativacao-o-cerebro-matematico-das-redes-neurais-artificiais/">Função de Ativação &#8211; O cérebro matemático das Redes Neurais Artificiais</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>A essência de uma Rede Neural Artiificial reside em sua capacidade de processar dados e encontrar padrões complexos. Para entender as funções de ativação, primeiramente devemos olhar para a estrutura básica de um neurônio artificial. Inicialmente, o neurônio recebe entradas (inputs), multiplica-as por pesos (weights) específicos e soma um viés (bias).</p>
<figure id="attachment_4473" aria-describedby="caption-attachment-4473" style="width: 450px" class="wp-caption aligncenter"><img data-recalc-dims="1" fetchpriority="high" decoding="async" class="wp-image-4473" src="https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/12/neuronio_artificial.png?resize=450%2C245&#038;ssl=1" alt="Neurônio artificial" width="450" height="245" srcset="https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/12/neuronio_artificial.png?resize=300%2C164&amp;ssl=1 300w, https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/12/neuronio_artificial.png?resize=768%2C419&amp;ssl=1 768w, https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/12/neuronio_artificial.png?w=800&amp;ssl=1 800w" sizes="(max-width: 450px) 100vw, 450px" /><figcaption id="caption-attachment-4473" class="wp-caption-text">Neurônio artificial</figcaption></figure>
<p data-path-to-node="9">Contudo, o resultado dessa operação matemática é puramente linear. É neste momento que a função de ativação entra em cena. Ela recebe esse valor numérico resultante e aplica uma transformação matemática específica. Consequentemente, ela decide qual informação é relevante o suficiente para ser passada para a próxima camada da rede.</p>
<p data-path-to-node="10">Em termos técnicos, a função introduz a <b>não linearidade</b> ao sistema. Isso é fundamental para os avanços das técnicas de Redes Neurais. Sem essa transformação não linear, não importaria quantas camadas ocultas empilhássemos, a rede inteira se comportaria como uma única camada linear. Arrisco dizer que a função de ativação é o elemento que permite à rede aprender e modelar dados complexos, como imagens, áudio e linguagem natural.</p>
<h3 data-path-to-node="10">O porteiro da balada</h3>
<p data-path-to-node="12">Para tornar este conceito técnico mais lúdico, imagine uma <b>festa exclusiva</b> que possui um porteiro rigoroso na entrada. As pessoas que tentam entrar são ponderadas pela sua importância.</p>
<p data-path-to-node="13">Neste cenário, o porteiro segue uma regra pré-determinada para decidir quem entra. Se o porteiro fosse uma função linear simples, ele deixaria todos entrarem, causando superlotação e caos na balada. Porém, um porteiro seletivo com critérios específicos, age como uma função de ativação.</p>
<p data-path-to-node="14">Por exemplo, ele pode barrar qualquer pessoa com menos de 18 anos (semelhante à função ReLU, que zera valores negativos). Ou, ele pode permitir a entrada de forma gradual, permitindo a entrada rapidamente para pessoas que estão com nome na lista VIPs e demorando mais para convidados comuns (similar à função Sigmoide). Assim, apenas os convidados realmente importantes atravessam a porta para curtir a festa.</p>
<p data-path-to-node="14">Nessa analogia, a festa é a resposta desejada da nossa rede neural. O porteiro faz o papel da função de ativação, e as pessoas que tentam entrar são os inputs (os dados que queremos predizer).</p>
<h3 data-path-to-node="14">Machine Learning vs. Deep Learning</h3>
<p data-path-to-node="14">Embora as funções de ativação sejam presentes em todas as redes neurais, seu uso varia significativamente entre Machine Learning (ML) clássico e Deep Learning (DL). Em modelos tradicionais de ML, como a Regressão Logística, a função de ativação normalmente é usada apenas na saída final para classificar o resultado.</p>
<figure id="attachment_4479" aria-describedby="caption-attachment-4479" style="width: 600px" class="wp-caption aligncenter"><img data-recalc-dims="1" decoding="async" class="wp-image-4479" src="https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/12/onde-ficam-as-funcoes-de-ativacao.png?resize=600%2C328&#038;ssl=1" alt="Onde ficam as funções de ativação" width="600" height="328" srcset="https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/12/onde-ficam-as-funcoes-de-ativacao.png?w=1024&amp;ssl=1 1024w, https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/12/onde-ficam-as-funcoes-de-ativacao.png?resize=300%2C164&amp;ssl=1 300w, https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/12/onde-ficam-as-funcoes-de-ativacao.png?resize=768%2C419&amp;ssl=1 768w" sizes="(max-width: 600px) 100vw, 600px" /><figcaption id="caption-attachment-4479" class="wp-caption-text">Onde ficam as funções de ativação</figcaption></figure>
<p data-path-to-node="14">Por outro lado, no Deep Learning, a complexidade aumenta exponencialmente. Aqui, as funções são aplicadas após cada camada oculta. Isso ocorre porque as redes profundas precisam aprender representações hierárquicas dos dados. Dessa forma, as camadas iniciais podem detectar bordas simples em uma imagem, enquanto as camadas profundas, ativadas sucessivamente, identificam formas complexas como rostos.</p>
<p data-path-to-node="14">Um detalhe importante e as vezes negligenciado&#8230; A escolha da função de ativação em DL afeta diretamente a velocidade de convergência do treinamento e a estabilidade do gradiente. O uso incorreto em DL pode levar a problemas graves, como o &#8220;Vanishing Gradient&#8221;, onde a rede para de aprender.</p>
<h3 data-path-to-node="14">Principais Funções, Equações e Usabilidade</h3>
<h4 data-path-to-node="25">Sigmoide (Logistic Function)</h4>
<p data-path-to-node="25">A função Sigmoide foi, historicamente, a mais popular. Ela transforma qualquer valor de entrada em um número entre 0 e 1. Matematicamente, ela é definida como:</p>
<div><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/diegonogare.net/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_960_1978f6577ae1d3a8fdb931b8dd16ead9.png?w=640&#038;ssl=1" style="vertical-align:-40px; display: inline-block ;" alt="sigma(x) = 1 / {1 + e^{-x}}" title="sigma(x) = 1 / {1 + e^{-x}}"/></div>
<p>Ela é excelente para modelos probabilísticos, pois o resultado pode ser interpretado como uma probabilidade. Frequentemente, é usada na camada de saída de classificadores binários, como a Regressão Logística.</p>
<p>Atualmente, ela caiu em desuso nas camadas ocultas de Deep Learning. Isso ocorre porque, para valores muito altos ou muito baixos de entrada, a derivada da função se aproxima de zeroe isso causa o problema do Vanishing Gradient, onde os pesos da rede param de ser atualizados durante o treino.</p>
<h4>Tanh (Tangente Hiperbólica)</h4>
<p>A Tanh é similar à Sigmoide, mas com uma diferença na amplitudo, seu intervalo de saída varia entre -1 e 1, e não de 0 a 1. A equação é:</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/diegonogare.net/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_960_e19f767c36d2daa50a3dd2c663b55476.png?w=640&#038;ssl=1" style="vertical-align:-40px; display: inline-block ;" alt="tanh(x) = {e^x - e^{-x}} / {e^x + e^{-x}}" title="tanh(x) = {e^x - e^{-x}} / {e^x + e^{-x}}"/></p>
<p>Por ser &#8220;centrada em zero&#8221;, a Tanh geralmente performa melhor que a Sigmoide em camadas ocultas. Isso facilita o processo de otimização, pois os dados ficam centralizados em torno da origem.</p>
<p>Contudo, apesar de ser melhor que a Sigmoide, ela ainda sofre com o problema do vanishing em redes muito profundas. Mesmo assim, seu uso é comum em redes recorrentes (RNNs) ou projetos de complexidade intermediária.</p>
<h4>ReLU (Rectified Linear Unit)</h4>
<p>A ReLU é, indiscutivelmente, a &#8220;rainha&#8221; do Deep Learning moderno. Sua lógica é surpreendentemente simples: se a entrada for positiva, ela retorna o valor da entrada; se for negativa, retorna zero. A equação é essa:</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/diegonogare.net/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_984.5_245fef0360db813561adf8d62763474f.png?w=640&#038;ssl=1" style="vertical-align:-15.5px; display: inline-block ;" alt="f(x) = max(0,x)" title="f(x) = max(0,x)"/></p>
<p>Ela é a escolha padrão para camadas ocultas em Redes Neurais Convolucionais (CNNs) e na maioria das arquiteturas de DL. A ReLU é computacionalmente eficiente, pois envolve operações matemáticas simples, como pode ser visto na sua equação. Além disso, ela resolve parcialmente o problema do desvanecimento do gradiente, permitindo o treinamento de redes muito mais profundas e rápidas.</p>
<p>Na documentação do <a href="https://scikit-learn.org/stable/modules/generated/sklearn.neural_network.MLPClassifier.html" target="_blank" rel="noopener">MLP do Scikit-Learn</a>, explica que a ReLU é a função de ativação padrão do modelo caso você não especifique qual função de ativação quer utilizar.</p>
<p>Existe um fenômeno chamado &#8220;Dying ReLU&#8221;. Se um neurônio entra em um estado onde sempre retorna zero, portanto, ele &#8220;morre&#8221; e para de aprender. Para contornar isso, variações como a Leaky ReLU foram criadas. Durante o doutorado, inclusive, criei uma Rede GAN para fazer reconhecimento de dígitos que usou a Leaky ReLU entre as camadas escondidas do Gerador e do Discriminador, <a href="https://github.com/diegonogare/MachineLearning/blob/main/5.5-MNIST_GAN.ipynb" target="_blank" rel="noopener">e você pode ver aqui no meu Github</a>.</p>
<h4>Softmax</h4>
<p>Diferente das anteriores, a Softmax é usada quase exclusivamente na camada de saída de problemas de classificação multiclasse. Ela converte um vetor de números em um vetor de probabilidades, onde a soma de todas as probabilidades é igual a 1.</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/diegonogare.net/wp-content/plugins/wpmathpub/phpmathpublisher/img/math_896_2a1028d9699b6b35a25d9f945dda9113.png?w=640&#038;ssl=1" style="vertical-align:-104px; display: inline-block ;" alt="sigma(z)_i = {e^{z_i}} / sum{j=1}{K} {e^{z_j}} " title="sigma(z)_i = {e^{z_i}} / sum{j=1}{K} {e^{z_j}} "/></p>
<p>Em geral, se você está construindo uma rede neural para classificar dígitos manuscritos (0 a 9) ou categorias de produtos, a Softmax será sua função final. Ela garante que a rede diga: &#8220;Tenho 90% de certeza que isso é um gato, 5% que é um cachorro e 5% que é um carro&#8221;. Mas se você reparar no exemplo que fiz no Github do link mais acima, uso outras funções para a saída da rede e, infelizmente, não me lembro o motivo.</p>
<h3>Para finalizar</h3>
<p>A escolha correta da função de ativação vai além da teoria matemática, ela é uma decisão estratégica de engenharia. No mercado atual, onde empresas buscam eficiência computacional, usar uma função leve como a ReLU pode significar a diferença entre treinar um modelo em horas ou em dias. Isso impacta diretamente o custo de infraestrutura em nuvem (AWS, Azure, Google Cloud) e o pessoal que cuida de <a href="https://diegonogare.net/2025/09/a-importancia-do-finops-para-projetos-de-ia/" target="_blank" rel="noopener">Finops</a> na sua empresa vai agradecer seu cuidado com o custo. Além disso, para devs, entender essas nuances permite a criação de modelos mais robustos.</p>
<p>Ao projetar sua próxima rede neural, lembre-se do &#8220;porteiro&#8221;. A forma como você filtra a informação define a inteligência do seu modelo. O sucesso de uma implementação de IA depende tanto da qualidade dos dados quanto da sofisticação matemática que decide como processá-los.</p>
<p>A evolução dessas funções de ativação ajudou a moldar o salto recente em IA Generativa, que depende de arquiteturas estáveis que só são possíveis graças ao tratamento adequado da não linearidade.</p>
<blockquote>
<pre>Imagem de capa e do texto foram feitas
com o Google Nano Banana 3</pre>
</blockquote>
<p>O post <a href="https://diegonogare.net/2025/12/funcao-de-ativacao-o-cerebro-matematico-das-redes-neurais-artificiais/">Função de Ativação &#8211; O cérebro matemático das Redes Neurais Artificiais</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4471</post-id>	</item>
		<item>
		<title>[Micro-blog] Como a Explainable AI (XAI) está mudando a governança de modelos</title>
		<link>https://diegonogare.net/2025/09/micro-blog-como-a-explainable-ai-xai-esta-mudando-a-governanca-de-modelos/</link>
		
		<dc:creator><![CDATA[Diego Nogare]]></dc:creator>
		<pubDate>Fri, 12 Sep 2025 00:11:19 +0000</pubDate>
				<category><![CDATA[Micro-blog]]></category>
		<category><![CDATA[Algoritmos Black-box]]></category>
		<category><![CDATA[Árvores de Decisão]]></category>
		<category><![CDATA[Ética na IA]]></category>
		<category><![CDATA[Explainable AI]]></category>
		<category><![CDATA[Governança de Modelos]]></category>
		<category><![CDATA[redes neurais]]></category>
		<category><![CDATA[Regulação]]></category>
		<category><![CDATA[Transparência]]></category>
		<category><![CDATA[XAI]]></category>
		<guid isPermaLink="false">https://diegonogare.net/?p=4439</guid>

					<description><![CDATA[<p>A Explainable AI (XAI) é fundamental para desvendar as decisões de algoritmos de Inteligência Artificial, independente da aplicação. Para profissionais de tecnologia, a XAI garante transparência e confiança em sistemas complexos, sendo um pilar de sustentação na adoção responsável da IA. A inteligência artificial avança rapidamente, isso é ponto pacífico. Contudo, nem todas as IAs...</p>
<p>O post <a href="https://diegonogare.net/2025/09/micro-blog-como-a-explainable-ai-xai-esta-mudando-a-governanca-de-modelos/">[Micro-blog] Como a Explainable AI (XAI) está mudando a governança de modelos</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>A <strong>Explainable AI (XAI)</strong> é fundamental para desvendar as decisões de algoritmos de Inteligência Artificial, independente da aplicação. Para profissionais de tecnologia, a XAI garante transparência e confiança em sistemas complexos, sendo um pilar de sustentação na adoção responsável da IA.</p>
<p>A inteligência artificial avança rapidamente, isso é ponto pacífico. Contudo, nem todas as IAs são igualmente compreensíveis. Estamos diante de um dilema que não é simples de se resolver. Escolhemos utilizar algoritmos &#8220;black-box&#8221; com alta performance versus &#8220;glass-box&#8221; transparentes, com talvez um pouco menos de performance? Tomar essa decisão quando um algoritmo glass-box tem melhor desempenho é fácil, nem se discute, mas e quando o algoritmo &#8220;black-box&#8221; tem melhor desempenho? É ai que a <strong>Explainable AI</strong> surge, portanto, como a ponte entre a complexidade e a clareza, tornando as decisões da máquina compreensíveis para os humanos.</p>
<h3>Complexidade</h3>
<p>Considere que em uma mão você tem as <strong>Redes Neurais Multicamadas (MLP)</strong>, que processam dados através de múltiplas camadas interconectadas, alcançando frequentemente performance superior em tarefas complexas. Na outra mão, estão as <strong>Árvores de Decisão</strong>, que classificam dados por meio de uma série de regras simples e sequenciais, revelando de forma clara o caminho lógico de cada decisão.</p>
<p>A escolha entre eles implica um <strong>trade-off</strong> significativo. Embora uma MLP possa (em alguns cenários) alcançar maior acurácia preditiva, sua &#8220;caixa preta&#8221; dificulta a explicação do &#8220;porquê&#8221; de suas saídas. Por outro lado, uma Árvore de Decisão, mesmo com possível menor precisão em certos cenários, oferece um rastro de decisão totalmente auditável. Seres humanos conseguiriam, de forma fácil, seguir o fluxo de uma Árvore de Decisão desde a sua raiz até a folha e explicar como as decisões foram tomadas. O que já fica bem mais complicado quando um ser humano precisa fazer cálculos de derivadas para entender como os dados de uma Rede Neural com Multi-layer Perceptron funciona.</p>
<h3>Impactos</h3>
<p>O que quero dizer é que, explicar manualmente um problema que a IA resolve com milhares de variáveis e interações não lineares é humanamente inviável. A complexidade intrínseca de muitos modelos de IA exige, assim, ferramentas especializadas para desmistificar seu funcionamento.</p>
<p>A importância da XAI é evidente em diversos aspectos. Principalmente porque permite a <strong>transparência</strong> em decisões críticas, como diagnósticos médicos ou aprovação de crédito. Também ajuda a melhorar a <strong>confiança</strong> do usuário (e das partes interessadas) nos sistemas de IA. Facilita a <strong>identificação e correção</strong> de vieses algorítmicos, e em certos casos, garante a <strong>conformidade regulatória</strong> em setores rigorosamente auditados.</p>
<p>A eficiência de um algoritmo não deve ser medida exclusivamente por sua métrica de performance, apesar disso ser muito importante quando se olha exclusivamente pelo lado técnico do processo. A <strong>XAI</strong> é, de fato, um pilar fundamental para a governança de IA, essencial em setores regulados como direito, saúde e finanças. Ela permite aos devs construir sistemas não só eficazes, mas também <strong>responsáveis</strong> e <strong>auditáveis</strong>, impactando diretamente a adoção e a ética da tecnologia. Encontrar o equilibrio entre XAI e Métricas de Avaliação de Performance de Modelos é uma tarefa difícil, mas que precisa ser feita!</p>
<p>&nbsp;</p>
<p>O post <a href="https://diegonogare.net/2025/09/micro-blog-como-a-explainable-ai-xai-esta-mudando-a-governanca-de-modelos/">[Micro-blog] Como a Explainable AI (XAI) está mudando a governança de modelos</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4439</post-id>	</item>
		<item>
		<title>[Micro-blog] O caminho da evolução da inteligência artificial &#8211; da ciência da computação à IA Generativa</title>
		<link>https://diegonogare.net/2025/08/micro-blog-o-caminho-da-evolucao-da-inteligencia-artificial-da-ciencia-da-computacao-a-ia-generativa/</link>
		
		<dc:creator><![CDATA[Diego Nogare]]></dc:creator>
		<pubDate>Fri, 29 Aug 2025 00:16:47 +0000</pubDate>
				<category><![CDATA[Micro-blog]]></category>
		<category><![CDATA[Ciência da Computação]]></category>
		<category><![CDATA[Deep Learning]]></category>
		<category><![CDATA[IA Generativa]]></category>
		<category><![CDATA[inteligencia artificial]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[redes neurais]]></category>
		<guid isPermaLink="false">https://diegonogare.net/?p=4384</guid>

					<description><![CDATA[<p>A Inteligência Artificial (IA) é um campo vasto, mas sua estrutura pode ser compreendida pela teoria dos conjuntos, como apresento na Figura que ilustra esse micro-blog. Para um domínio profundo da IA, é fundamental ter uma base sólida em matemática e estatística. No entanto, no início da jornada, você pode explorar bibliotecas prontas e ferramentas...</p>
<p>O post <a href="https://diegonogare.net/2025/08/micro-blog-o-caminho-da-evolucao-da-inteligencia-artificial-da-ciencia-da-computacao-a-ia-generativa/">[Micro-blog] O caminho da evolução da inteligência artificial &#8211; da ciência da computação à IA Generativa</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>A Inteligência Artificial (IA) é um campo vasto, mas sua estrutura pode ser compreendida pela teoria dos conjuntos, como apresento na Figura que ilustra esse micro-blog.</p>
<p>Para um domínio profundo da IA, é fundamental ter uma base sólida em matemática e estatística. No entanto, no início da jornada, você pode explorar bibliotecas prontas e ferramentas que simplificam o desenvolvimento, facilitando a entrada no mercado de trabalho. Compreender essa hierarquia é vital para profissionais e entusiastas. Isso permite não apenas navegar pelo campo da IA com mais clareza, mas também aplicar a ferramenta certa para o desafio correto.</p>
<p>Para chegarmos à IA que temos hoje, com os grandes modelos de linguagem gerando textos com qualidade bem satisfatória, é importante entender que houve um longo caminho percorrido. Saímos da década de 40/50 no século passado, com o surgimento da Ciência da Computação , passando por altos e baixos, até chegar na segunda metade dos anos 2010 e termos acesso às inovações da IA Generativa. Veja, essa evolução que já dura mais de 80 anos!</p>
<h3>Caminho evolutivo</h3>
<p>A Inteligência Artificial é um campo da Ciência da Computação que se dedica a criar sistemas capazes de simular a inteligência biológica. Portanto, a IA representa um subconjunto mais específico dentro da disciplina maior da computação. Por sua vez, o Machine Learning (ML) surge como um subconjunto da IA. Ele capacita os sistemas a aprenderem e aprimorarem-se a partir de dados, eliminando a necessidade de programação explícita para cada tarefa específica. Isso nos lembra que a adaptabilidade é chave!</p>
<p><img data-recalc-dims="1" decoding="async" class="wp-image-4386 aligncenter" src="https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/08/IA.png?resize=400%2C400&#038;ssl=1" alt="IA" width="400" height="400" srcset="https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/08/IA.png?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/08/IA.png?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/08/IA.png?w=707&amp;ssl=1 707w" sizes="(max-width: 400px) 100vw, 400px" /></p>
<p>Dentro do ML, encontramos o Deep Learning (DL), um subcampo que utiliza redes neurais profundas para processar informações complexas. Ele é especialmente eficaz no reconhecimento de padrões, assim como na análise de imagens e fala. Finalmente, a IA Generativa representa uma aplicação avançada, muitas vezes impulsionada pelo Deep Learning. Essa tecnologia consegue criar conteúdo original, como textos, imagens e áudios, trazendo uma nova forma como interagimos com a computação.</p>
<p>Posso afirmar sem sombra de duvidas que essa clareza acelera a inovação e o desenvolvimento de soluções mais eficientes e éticas&#8230; E pra você, qual é o próximo grande salto nessa jornada contínua de inteligência e aprendizado?</p>
<p>O post <a href="https://diegonogare.net/2025/08/micro-blog-o-caminho-da-evolucao-da-inteligencia-artificial-da-ciencia-da-computacao-a-ia-generativa/">[Micro-blog] O caminho da evolução da inteligência artificial &#8211; da ciência da computação à IA Generativa</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4384</post-id>	</item>
		<item>
		<title>Review do Livro &#8220;50 Algorithms Every Programmer Should Know &#8211; 2nd edition&#8221;</title>
		<link>https://diegonogare.net/2024/03/50-algoritmos-que-deve-conhecer/</link>
		
		<dc:creator><![CDATA[Diego Nogare]]></dc:creator>
		<pubDate>Mon, 18 Mar 2024 14:00:39 +0000</pubDate>
				<category><![CDATA[Review de Livro]]></category>
		<category><![CDATA[Algoritmos]]></category>
		<category><![CDATA[Aprendizado de Máquina]]></category>
		<category><![CDATA[Ciência da Computação]]></category>
		<category><![CDATA[criptografia]]></category>
		<category><![CDATA[estrutura de dados]]></category>
		<category><![CDATA[Livro]]></category>
		<category><![CDATA[processamento de dados]]></category>
		<category><![CDATA[redes neurais]]></category>
		<category><![CDATA[review]]></category>
		<guid isPermaLink="false">https://diegonogare.net/?p=3822</guid>

					<description><![CDATA[<p>Review do livro &#8220;50 Algorithms Every Programmer Should Know &#8211; 2nd edition&#8220;, que foi escrito por Imran Ahmad e publicado pela Packt Pub. Neste livro você aprenderá (ou relembrará) 50 algoritmos que deve conhecer na ciência da computação. Contudo, é uma versão atualizada, contando inclusive com assunto atuais como Large Language Models e discussões sobre...</p>
<p>O post <a href="https://diegonogare.net/2024/03/50-algoritmos-que-deve-conhecer/">Review do Livro &#8220;50 Algorithms Every Programmer Should Know &#8211; 2nd edition&#8221;</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Review do livro &#8220;<em>50 Algorithms Every Programmer Should Know &#8211; 2nd edition</em>&#8220;, que foi escrito por Imran Ahmad e publicado pela Packt Pub. Neste livro você aprenderá (ou relembrará) 50 algoritmos que deve conhecer na ciência da computação. Contudo, é uma versão atualizada, contando inclusive com assunto atuais como Large Language Models e discussões sobre transparência e ética nos algoritmos.</p>
<h2>O livro e com seus 50 algoritmos que deve conhecer</h2>
<p>Vou compartilhar minhas impressões desta obra, e já de partida quero avisar que nem todos os algoritmos são para todos nós. Digo isso porque há uma amplitude de assuntos que, dependendo do que você trabalha ou estuda, não vão lhe chamar muita atenção. No meu caso, o capítulo 3 é de ordenação e o capítulo 14 que é de criptografia&#8230; Não são exatamente os assuntos que mais me chamam atenção e acabei passando rapidamente por ali. Porém, a seção II que é de Machine Learning eu li com muito mais atenção, como também o capítulo 16.</p>
<p>Com uma abordagem direta em cada capítulo, o livro ensina de forma prática (programando em Python) como aplicar o que está estudando. É bem balanceado entre teoria e prática, certamente o que é bom para materializar a teoria na prática. O livro está organizado em 16 capítulos separados em três seções, e trás os 50 algoritmos que deve conhecer.</p>
<p>Vamos aos capítulos&#8230;</p>
<h3><strong>Cap 1 &#8211; Visão geral de algoritmos</strong></h3>
<p>No capítulo 1 mergulhamos no universo dos algoritmos. É uma introdução aos seus fundamentos, mostrando como eles são essenciais desde a formulação de problemas até a execução de soluções. O capítulo destaca a evolução do uso dos algoritmos e suas limitações. Para os entusiastas de Python, tem um guia de como preparar o ambiente para rodar os exemplos do livro, mas se você quiser ver isso em vídeo, <a href="https://www.youtube.com/watch?v=56keUCxiXPE&amp;list=PLrakQQfctUYXKi7SX0klbE4NiqKHbrnk2" target="_blank" rel="noopener">gravei essa playlist há algum tempo</a>. E não para por aí: o capítulo também aborda como medir e comparar o desempenho dos algoritmos. É um começo importante para quem quer entender a base do que vem a seguir no livro.</p>
<h3><strong>Cap 2 &#8211; </strong>Estruturas de dados</h3>
<p>No capítulo 2 a conversa é sobre as estruturas de dados e como elas são a espinha dorsal de algoritmos. O capítulo, de fato, é um prato cheio para quem usa Python, detalhando como a linguagem gerencia estruturas de dados complexas e quais são as mais indicadas para cada tipo de dado. Mas não se preocupe se você é fã de Java ou C++, os conceitos são universais e vão te ajudar independentemente da linguagem que você curte programar. É o tipo de capítulo que faz você querer mergulhar no código e ver a mágica acontecer.</p>
<h3>Cap3 &#8211; Ordenação e Busca</h3>
<p>E aí, no capítulo 3, é apresentada a parte de algoritmos de ordenação e busca. O capítulo, a princípio, trás diferentes abordagens e tipos de algoritmos de ordenação, cada um com seu próprio estilo e estratégia de solução de problema. E para não deixar a busca de lado, tem exemplos práticos que mostram como esses algoritmos percorrem atrás dos dados.</p>
<h3>Cap 4 &#8211; Projetando algoritmos</h3>
<div class="content" tabindex="0" aria-description="">
<div class="ac-container ac-adaptiveCard">
<div class="ac-textBlock">
<p>Chegando no capítulo 4, a gente entra na parte de Projetando Algoritmos. O capítulo, antes de mais nada, é uma verdadeira aula sobre como dar vida aos algoritmos, começando (obviamente) por entender o problema que você quer resolver. E para deixar tudo mais interessante, ocasionalmente, relembra o famoso Problema do Caixeiro Viajante (TSP), muito visto em cursos de Ciência da COmputação, e joga na mesa como um exemplo real de como aplicar essas técnicas de design. E não para por aí, ainda tem um pouco de programação linear para materializar a discussão com suas aplicações práticas. O capítulo faz bem o papel de ponte entre a teoria e a prática.</p>
</div>
</div>
</div>
<h3>Cap 5 &#8211; Grafos</h3>
<p>No Capítulo 5, a parada é nos Algoritmos de Grafos. O capítulo é um guia que mostra como navegar em grafos para representar estruturas de dados. Ele não só cobre o básico, mas também detalha teorias e técnicas mais profundas, como análise de redes e busca de grafos. E para colocar a teoria em prática, há um estudo de caso que usa grafos para desvendar fraudes.</p>
<h3>Cap 6 &#8211; Aprendizado não supervisionado</h3>
<div class="content" tabindex="0" aria-description="">
<div class="ac-container ac-adaptiveCard">
<div class="ac-textBlock">
<p>Aqui no capítulo 6, sobretudo, começam os assuntos de <a href="https://diegonogare.net/tag/machine-learning/" target="_blank" rel="noopener">Machine Learning</a>, e esses eu li com muito mais carinho e dedicação por questões óbvias, ao propósito, de interesse pessoal <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
</div>
</div>
</div>
<div class="content" tabindex="0" aria-description="">
<div class="ac-container ac-adaptiveCard">
<div class="ac-textBlock">
<p>Este capítulo fala sobre o aprendizado de máquina não supervisionado. O capítulo é um convite para explorar como essa área do aprendizado de máquina pode ser usada para decifrar problemas do cotidiano. Ao mesmo tempo é apresentada uma introdução aos principais algoritmos e metodologias, como os de agrupamento, que encontram dados semelhantes; redução de dimensionalidade, que simplifica a complexidade diminuindo o espaço de busca; e de regras de associação, que descobre relações ocultas entre eventos e transações.</p>
<h3>Cap 7 &#8211; Aprendizado Supervisionado</h3>
</div>
</div>
</div>
<p>Neste capítulo a gente coloca a mão na massa com aprendizado supervisionado. O capítulo tem laboratório, onde são explorados os algoritimos de classificação e regressão. O Autor explica seis algoritmos de classificação e três de regressão, ele não só apresenta, mas também coda com esses algoritmos resolvendo problemas reais. E no final ainda compara os resultados para ver o que teve melhor performance.</p>
<h3>Cap 8 &#8211; Redes Neurais Artificiais</h3>
<p>No capítulo 8, antes de mais nada, o foco é pelo mundo das Redes Neurais. O capítulo abre as portas para os conceitos-chave e componentes que formam uma rede neural, explicando sobre suas várias formas e as funções de ativação. O algoritmo de backpropagation, peça central no treinamento de redes neurais, é explicado ems detalhes. Da mesma forma, no final do capítulo ainda tem um exemplo prático de como o Deep Learning pode ser usado para detectar documentos fraudulentos, trazendo a teoria para o chão da realidade.</p>
<h3>Cap 9 &#8211; NLP Natural Language Processing</h3>
<div class="content" tabindex="0" aria-description="">
<div class="ac-container ac-adaptiveCard">
<div class="ac-textBlock">
<p>Aqui o autor aprofunda nos algoritmos para Processamento de Linguagem Natural (NLP). O capítulo é um guia completo que vai desde os fundamentos da NLP até a preparação dos dados para as tarefas mais complexas. Ele detalha o processo de vetorização de dados textuais e a técnica de incorporação de palavras. E, ao mesmo tempo, para não ficar só na teoria, apresenta um caso de uso detalhado mostrando como NLP se aplica no mundo real.</p>
</div>
</div>
</div>
<h3>Cap10 &#8211; Modelos sequenciais</h3>
<div class="content" tabindex="0" aria-description="">
<div class="ac-container ac-adaptiveCard">
<div class="ac-textBlock">
<p>Aqui no capítulo 10, o autor leva a conversa sobre o treinamento de redes neurais para lidar com dados que seguem uma sequência. O capítulo serve como uma introdução aos modelos sequenciais, desvendando suas técnicas e metodologias. Ao mesmo tempo ainda tem uma discussão sobre como o Deep Learning pode elevar o nível das técnicas de Processamento de Linguagem Natural (que vimos no capítulo anterior). O capítulo te prepara para entender como as máquinas trabalham a partir de dados que têm uma ordem, um ritmo, uma cadência, e como isso pode revolucionar a maneira como interagimos com a tecnologia.</p>
</div>
</div>
</div>
<h3>Cap11 &#8211; Modelos sequenciais avançados</h3>
<div class="content" tabindex="0" aria-description="">
<div class="ac-container ac-adaptiveCard">
<div class="ac-textBlock">
<p>O capitulo apresenta, contudo, limitações dos modelos sequenciais e descobre como eles têm evoluído para avançar na resolução de problemas. O autor mergulha nos aspectos mais sofisticados desses modelos, apresentando a criação de configurações que são verdadeiras &#8220;relíquias&#8221; em complexidade. Cobre assuntos como os autoencoders e modelos Sequence-to-Sequence (Seq2Seq), passando pelos mecanismos de atenção e transformers (<a href="https://research.google/pubs/attention-is-all-you-need/" target="_blank" rel="noopener">attention is all you need</a>), o capítulo prepara o terreno para os Large Language Models (LLMs), super atuais em questões de estado da arte da Inteligência Artificial.</p>
</div>
</div>
</div>
<h3>Cap12 &#8211; Sistemas de Recomendação</h3>
<div class="content" tabindex="0" aria-description="">
<div class="ac-container ac-adaptiveCard">
<div class="ac-textBlock">
<p>Neste capítulo o assunto discutido são sistemas de recomendação (<a href="https://diegonogare.net/2020/05/explicando-o-algoritmo-de-regra-de-associacao/" target="_blank" rel="noopener">regras de associação</a>), que parecem ler nossas mentes e sabem exatamente o que queremos antes mesmo de clicarmos. O capítulo explora os diferentes tipos de sistemas de recomendação e como eles funcionam por dentro, revelando tanto seus superpoderes quanto os desafios que enfrentam. E para fechar, o capítulo nos guia através de um problema do mundo real, mostrando como esses mecanismos podem ser a solução que estávamos procurando.</p>
<p>E é neste capítulo que se encerram os assuntos de <a href="https://diegonogare.net/tag/machine-learning/" target="_blank" rel="noopener">Machine Learning</a>!</p>
<h3>Cap 13 &#8211; Tratamento de dados</h3>
</div>
</div>
</div>
<p>Aqui o autor explica a arte de lidar com dados. O capítulo é um guia para entender os algoritmos de dados e os princípios que ajudam a resolver problemas de classificação de dados. Ele nos guia pelos algoritmos de armazenamento e compactação de dados, que são fundamentais para gerenciar informações de maneira eficiente. E como em qualquer boa estratégia, o capítulo nos mostra as vantagens e desvantagens de projetar e implementar algoritmos focados em dados.</p>
<h3>Cap 14 &#8211; Criptografia</h3>
<p>Confesso que passei bem rapido por aqui, não é um assunto que me atrai muito&#8230;</p>
<div class="content" tabindex="0" aria-description="">
<div class="ac-container ac-adaptiveCard">
<div class="ac-textBlock">
<p>Mesmo assim, o capítulo apresenta uma visão histórica da criptografia antes de mergulhar nos algoritmos que guardam nossos segredos. O capítulo começa com os algoritmos de criptografia simétrica, (MD5 e SHA), apontando suas limitações e vulnerabilidades. Depois, avança para o mundo da criptografia assimétrica, essencial para a criação de certificados digitais que autenticam e protegem em operações online. E para amarrar tudo, o capítulo trás um exemplo prático mostrando como todas essas técnicas se encaixam no assunto de segurança digital.</p>
</div>
</div>
</div>
<h3>Cap 15 &#8211; Algoritmo em grande escala</h3>
<div class="content" tabindex="0" aria-description="">
<div class="ac-container ac-adaptiveCard">
<div class="ac-textBlock">
<p>Neste capítulo o autor aborda algoritmos que operam em larga escala. O capítulo desvenda os bastidores para mostrar a infraestrutura necessária para dar suportar estas iniciativas. Apresenta também estratégias para gerenciar o processamento de múltiplos recursos, e as limitações impostas pela lei de Amdahl são examinadas (eu nem sabia que isso existia). E ao se falar em grande escala, não poderia faltar falar sobre as GPUs. Ele mostra seu papel no universo do processamento paralelo.</p>
<h3>Cap 16 &#8211; Explicabilidade e Ética</h3>
</div>
</div>
</div>
<div class="content" tabindex="0" aria-description="">
<div class="ac-container ac-adaptiveCard">
<div class="ac-textBlock">
<p>O Capítulo 16 trás algumas considerações práticas, convidando a gente para o desafio de tornar os algoritmos transparentes e compreensíveis. O capítulo trata da explicabilidade dos algoritmos, ou seja, até que ponto podemos entender o que acontece por trás do código? A ética no uso dos algoritmos também entra em cena, com uma discussão sobre como evitar vieses que podem surgir na implementação. Além disso, o capítulo explora técnicas para lidar com os temidos problemas NP-difíceis e reflete sobre os fatores importantes na hora de escolher um algoritmo.</p>
<p>&nbsp;</p>
</div>
</div>
</div>
<h2>Minha opinião sobre estes 50 algoritmos que deve conhecer</h2>
<p>Na minha humilde opinião o livro é completo e poderia facilmente servir de base complementar para cursos de graduação em ciência da computação. É um material útil para aprender ou aprimorar suas habilidades em algoritmos com Python.</p>
<p>Como comentei no começo do post, é leitura seletiva para quem se interessa pelos assuntos. Vale o investimento! Para mim, os capítulos entre 6 e 12, que falam de Machine Laerning, além do 16 que fala sobre transparência dos algoritmos, foram os que me chamaram mais atenção.<br />
A versão digital está na <a href="https://amzn.to/4cvyKD8" target="_blank" rel="noopener">Amazon por um pouco mais de 200 reais</a> enquanto escrevo esse texto.</p>
<p>&nbsp;</p>
<h2>Códigos do &#8220;50 Algorithms Every Programmer Should Know &#8211; 2nd edition&#8221;</h2>
<p>No <a href="https://github.com/cloudanum/50Algorithms" target="_blank" rel="noopener">Github da editora</a> você pode acompanhar os códigos do livro e reproduzir o que estudou para fixar o aprendizado com os 50 algoritmos que todo desenvolvedor deve conhecer.</p>
<p>&nbsp;</p>
<p>Bons estudos!</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>O post <a href="https://diegonogare.net/2024/03/50-algoritmos-que-deve-conhecer/">Review do Livro &#8220;50 Algorithms Every Programmer Should Know &#8211; 2nd edition&#8221;</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3822</post-id>	</item>
	</channel>
</rss>
