A Degeneração da Nação
Programa para o Avanço das Ciências da Aprendizagem: Aprendizagem Computacional, Aprendizado de Máquina e Neurociência
Carta sobre a Filosofia das Ciências da Informação, rumo à sua transformação em Ciências da Aprendizagem: Filosofia da Matemática, Filosofia da Computação, Filosofia da Aprendizagem Computacional e Filosofia da Neurociência
Por: Matemático (não mais serei)
Carta a uma aluna: O Código e o Sacrifício - Tudo está conectado (à aprendizagem)  (fonte)


Filosofia da Aprendizagem na Matemática

Você pensa que a philosophy-of-learning da matemática não é interessante, mas é realmente a coisa mais interessante que existe. Deveríamos ter tomado a aprendizagem como os fundamentos da matemática. Não a escrita de provas - mas o aprendizado de provas, porque a construção matemática é em sua essência não uma construção lógica (isso é apenas sua superfície linguística), mas uma construção de aprendizagem. O problema central das neurociências é pensar no cérebro como um único agente, em vez de entender que há competição no cérebro - entre pensamentos, entre módulos (por exemplo, sobre atenção e decisões), entre diferentes memórias, entre neurônios, e entre diferentes continuações desta frase (e esta competição é paralela à competição econômica ou política, que constrói sistemas que aprendem, como democracia ou capitalismo ou meritocracia chinesa, e é a raiz de seu sucesso). Assim, o problema central da matemática é que ela não conceitua dentro de si seus múltiplos agentes, os matemáticos, que a aprendem, e não conceitua de forma alguma a aprendizagem que está sob a matemática (assim como no passado não conceituou a lógica que está sob a matemática, e então Frege transformou a lógica na infraestrutura da matemática, assim sob a lógica - o que a opera, e que se tornará posteriormente a infraestrutura da matemática - é a aprendizagem matemática). Mais ainda - a aprendizagem deve ser a ferramenta para definir os conceitos básicos em matemática, sobre os quais tudo é construído: limite, grupo, topologia, espaço, prova, conjunto, números primos, probabilidade, função, sequência, etc. E assim devemos fazer uma reconstrução de aprendizagem da matemática, uma axiomatização e interpretação nova (como uma possível interpretação de aprendizagem da teoria quântica, entre suas outras interpretações). A propriedade de composição e construção da matemática - e particularmente da álgebra - tem sua origem na aprendizagem, e deve ser baseada nela. Suponha que você já aprendeu como fazer a, b, como uma caixa preta. O que isso significa, que você tem esta função? O que significa saber, por exemplo, uma prova? Como você aprende com isso a chegar a c? Chegará um momento em que você não poderá mais simplesmente dizer que tem uma função, mas diferentemente do intuicionismo de Brouwer ou da construção axiomática-computacional do formalismo, a construção que você precisará fornecer é de aprendizagem: como você aprendeu a função. E mesmo se a função já existe em você (digamos na neurologia do seu cérebro), como uma caixa preta, saber ela não significa usá-la, ou seja, saber não é a capacidade de dar sua resposta para entradas, mas o significado de saber é a capacidade de aprender através dela, isto é, construir a partir desta caixa preta (que você não entende) continuações de aprendizagem apropriadas. Assim como saber uma prova não é a capacidade de citá-la e chegar das premissas às conclusões (Q.E.D.), mas a capacidade de construir dela outras provas, ou seja, continuar aprendendo através dela. E entender uma prova não é algo que você entende dentro dela (por exemplo dentro de sua sequência), mas entender como construir dela outras provas (não apenas "usar" ela no sistema existente, como em Wittgenstein, mas construir dela a continuação do sistema e desenvolver o sistema, como o uso da linguagem por um poeta, e não por um falante, ou seja, como o uso do computador por um programador, e não por um "usuário"). E aqui notaremos por exemplo a semelhança entre redes neurais e algoritmos genéticos. Nos neurônios a construção é principalmente conexão e combinação de números (ou seja, combinação linear - a combinação mais simples - de funções, com realmente o mínimo de não-linearidade necessária sobre ela), enquanto na evolução a construção é conexão e combinação de partes (na prática, é uma combinação linguística de duas frases - dois genomas, de modo que algumas das palavras são do primeiro e algumas do segundo. E finalmente após a convergência - as frases são muito similares e há variações leves entre elas, de modo que a frase ainda tem sentido. "O jardineiro cultivou grãos no jardim" se cruza com "O jardineiro cultivou trigo na horta". E seu filho é "O jardineiro cultivou grãos na horta"). Assim que além da diferença específica entre os dois mecanismos de composição e construção, ou seja, as conexões, sendo uma conexão quantitativa de magnitudes e a outra conexão textual-linguística, há uma semelhança profunda entre aprendizagem neuronal e evolução: gerações são camadas. Os componentes básicos de aprendizagem são tanto muito numerosos em cada estágio, quanto se empilham uns sobre os outros de forma profunda (ou seja, muito numerosa), para criar a aprendizagem. Evolução é aprendizagem profunda por natureza, e não se pode negar esta semelhança natural. Ou seja, vemos que na natureza a construção é básica para a aprendizagem - mesmo que possam existir no mundo da aprendizagem diferentes técnicas de construção (adição, multiplicação, concatenação de strings, chamada de outro trecho de código como função, etc.) - e assim é também na construção lógica e matemática. Pois mesmo na lógica existem múltiplas camadas de construção que são criadas por combinação (na construção há duas dimensões, porque ela combina duas ou mais coisas anteriores - dimensão horizontal - para criar algo novo delas - dimensão vertical. Ou seja, construção surge tanto da multiplicidade para baixo, quanto da multiplicidade de possibilidades ao seu lado, como tijolos em uma parede). E se voltarmos ao projeto de redefinir a matemática sobre a aprendizagem, veremos que este programa (o programa de aprendizagem dos fundamentos da matemática, nos moldes do programa de Langlands) se adequa não apenas à álgebra naturalmente construtiva, mas também à análise. De fato, na álgebra a construção é básica, e precisamente por isso questões básicas de construção nela se beneficiarão de um olhar de aprendizagem. Afinal, o que são os números primos? O conflito entre dois métodos de construção dos números: um por adição - e outro por multiplicação. Esta é a origem do enigma (Riemann como parábola), e sua solução será através de uma nova conceituação: aprender a construí-los. Aprender os primos - este é o caminho real para a hipótese de Riemann. E assim pode-se aprender a construir um grupo. Ou aprender um conjunto (ou grafo, ou jogo, ou matriz). E na análise, o que significa limite? Aproximar-se através de medições - significa saber. E topologia é uma generalização de limite. Limite é um mecanismo de aprendizagem, e quando ele é bem-sucedido, quando é possível aprender (ou seja, que quanto mais você se aproxima isso te ensina ao que está se aproximando), isso é contínuo. E quando não é possível aprender - então não é contínuo. E este próprio mecanismo de aprendizagem deriva da topologia do contínuo. Ou seja, na topologia aprendizagem é uma generalização mais abstrata e não a base da definição do limite, mas o limite é um exemplo particular dela. Quando olhamos para o próprio mecanismo de aprendizagem (do contínuo) e começamos a definição a partir dele - esta é a topologia (como substituto para definição através de filtros, ou conjuntos abertos/fechados, ou outras propostas contemporâneas). E na análise, poderemos definir a derivada através da ideia do método, ou o método como generalização da ideia de derivada. Esta é a aprendizagem da aprendizagem.


Filosofia da Aprendizagem na Ciência da Computação

Da mesma forma, um processo similar de construção do campo sobre fundamentos de aprendizagem pode ser feito também na ciência da computação (e assim finalmente estabelecer de forma séria o campo da philosophy-of-learning da ciência da computação). Afinal, o que é computação: como uma função chegou a isso? (você não pode mais definir simplesmente mas precisa ser construtivo - computável). Se assim for, o que é aprendizagem: como a computação chegou a isso? (você precisa explicar como construiu o algoritmo, ou seja, como o aprendeu, assim como antes precisava explicar como construiu a função. Esta é a construtividade da construtividade). Então, se voltarmos à função, o que é necessário é: aprender a computar uma função. Prova é afinal construção. E aprendizagem é como se constrói. Construir a própria construção. Daí que o próximo estágio algébrico será adição e multiplicação em aprendizagem, que constituirão uma generalização da adição e multiplicação, e portanto através da aprendizagem poderemos definir adição e multiplicação de algoritmos. E assim serão generalização de multiplicação (chamada em loop, no caso polinomial) e adição (execução de algoritmo após algoritmo), na construção de aprendizagem. E recursão será generalização de potenciação. E condicionais são um tipo de adição. No mundo da computação de Turing, o infinito e o assintótico eram a análise, e as operações - a álgebra. E agora estamos diante do problema de querer somar infinitos, ou seja, sistemas que aprendem em direção a um limite, que é muito similar historicamente ao problema de somar infinitos que existiu na raiz do cálculo infinitesimal. Afinal os componentes de aprendizagem sempre se aproximam de um ótimo, e esta é a parte contínua, da otimização. E por outro lado eles são compostos um com/sobre o outro como algebricamente, que é a parte discreta, da busca e mutação, ou seja, computacionalmente cara. Se não há método de como fazer isso de forma geral - há combinações. Ou seja, é uma busca de força bruta. E portanto devemos entender que em sua essência, exponencialidade é na verdade expressão de força bruta e incapacidade de entender e resolver o problema, apenas formulá-lo. Seu significado: não saber resolver. Ou seja: sob todas as operações algébricas básicas que conhecemos na matemática, como adição e multiplicação e potenciação, há algo mais profundo, e computacional, e até (sob) de aprendizagem. E ele hoje espreita e se expressa externamente apenas como função do tempo de execução. Potenciação é na verdade busca em todo o espaço de possibilidades. Isso é linguagem e não aprendizagem. Linguagem é todas as combinações possíveis, e aprendizagem é convergência das possibilidades, e portanto permite uma solução específica. Uma frase específica. Nenhuma frase no mundo jamais foi escrita pela linguagem - todas elas são escritas pela aprendizagem.


Filosofia da Algorítmica

Você aprendeu uma função ou algoritmo? Note que isso é similar ao limite na análise - onde está a função (que é o limite). E em vez de epsilon e delta, temos aqui interação entre professor e aluno. O aluno aspira ao limite (que é seu horizonte), e o professor está na posição da medida no limite, por exemplo pergunta quão próximo você está do resultado da função em um determinado ponto. Ou seja, o lado do professor, o lado que mede sucesso, que julga sua convergência, é como o critério em NP. E qual é o problema em NP? Que é exatamente o oposto de um limite contínuo na análise, porque em tais problemas medição parcial do sucesso não ajuda em nada a atingir o objetivo, e não auxilia a aprendizagem, ou seja, que você não pode ter sucesso como aluno. Não há direcionamentos no caminho, que permitam chegar ao objetivo. A aprendizagem é o processo de construção das coisas que sabemos fazer - algo que não sabemos fazer. E tudo isso diante de uma medida de avaliação. E se a avaliação é um critério interno, não externo, então este é o caminho - que é o método. Mas se não há nenhum critério interno mas apenas externo? Então você está em NP. Quando você aprende um algoritmo, é correto definir isso como aprendizagem por exemplo ou por demonstração, ou seja, como aprendizagem do quê ou aprendizagem do como? Você recebe apenas os valores de entrada e saída da função que está aprendendo em um caso específico, ou recebe uma construção construtiva da função no caso entrada-saída específico? A resposta deve ser ambos, porque a aprendizagem é exatamente a decomposição da função como construída de funções anteriores, que é a própria demonstração, mas em cada estágio a escolha de qual combinação delas fazer depende do exemplo (uma prova é exemplo ou demonstração?). Portanto, NP são os problemas que é fácil examinar sobre eles - e difícil aprender (ou seja que não se pode ensinar - ser professor - no caso deles). E assim exatamente também no problema dos primos, a questão é até que ponto você não pode aprendê-los, quão imprevisíveis eles são (probabilidade, que também pode ser redefinida através de aprendizagem). Esta é a essência da hipótese de Riemann (e portanto espera-se que tenha uma conexão profunda com o problema da fatoração dos primos como função unidirecional). Qual é a aprendizagem nos números primos? Em cada número primo que você chegou na sequência dos naturais, o que você já sabe é construir através de multiplicação números de todos os primos anteriores a ele. Ou seja ele (o próximo primo) é algo que você não aprendeu e precisa aprender, e a questão profunda é quão limitada é sua capacidade de aprendizagem em essência, se a construção de aprendizagem é uma construção de um número através da multiplicação de números anteriores. Ou seja: nas duas hipóteses mais importantes da matemática existe uma formulação de aprendizagem que toca em sua essência - e deveria ser o caminho pelo qual se vai para sua solução, se não tivéssemos encontrado pensamento linguístico, ou seja, um tipo muito primitivo e combinatório de construção (tanto dos números naturais quanto de algoritmos). Em ambas é preciso provar que certo fenômeno é difícil para aprendizagem - ou seja encontrar o que não se pode aprender. Na história da matemática resolvemos hipóteses básicas que não sabíamos nem como abordar (existência de números irracionais, quadratura do círculo, equação quíntica, teorema de Gödel, etc.) sempre através de uma nova construção como esta, que conseguiu capturar o fenômeno - e depois dela uma prova do que não se pode construir através dela. Notemos que todas estas eram problemas do que não se pode fazer (na escola pitagórica a existência de um número irracional era a incapacidade de construí-lo como razão através dos naturais, embora o problema seja formulado de forma positiva), porque os problemas mais profundos em matemática são sempre problemas de impossibilidade. Exatamente porque a matemática é construção - ela está propensa a se deparar com um beco sem saída quando precisa mostrar o que não se pode construir (e menos o que se pode - porque isso pode-se simplesmente construir). E portanto para avançar nos dois problemas de impossibilidade principais hoje, NP e Riemann, é preciso construir uma definição matemática de aprendizagem e da construção que deriva dela - e então uma prova por contradição de que tal construção não é possível porque não se pode aprender isso (em outras palavras: a aprendizagem pode e deve expressar a estrutura matemática que ela aprende, e impor sobre ela limitações devido ao que não se pode aprender - que será derivado da teoria matemática da aprendizagem - e assim provar os limites de suas possibilidades). E quanto ao problema de NP versus P, notemos que aprender, no sentido geral, é necessariamente difícil, não eficiente e não polinomial. E na verdade talvez o que é suficiente provar é que aprender é um problema difícil, porque é fácil verificar que aprendemos corretamente, de acordo com os exemplos. Este é em si um problema NP. Ou seja mostrar que se houvesse um algoritmo de aprendizagem geral eficiente - então deve-se chegar a uma contradição (tal redução ao absurdo é que se é possível resolver o problema da aprendizagem, então é possível resolver tudo facilmente, porque a aprendizagem pode primeiro aprender o algoritmo de solução, e em tal situação também se pode aprender a resolver o próprio problema da aprendizagem, e assim até que se chega a algum algoritmo de aprendizagem minimal, mas ele também é aprendido. Além disso, em tal situação, há um expoente polinomial minimal para o algoritmo em P que resolve um problema NP, e então deve-se mostrar que devido às propriedades construtivas da aprendizagem, também um algoritmo abaixo dele, ou seja que o novo é construído através dele e que tem um expoente polinomial menor, resolve um problema NP. Alternativamente, dividir a informação entre os blocos dos quais a solução é construída, e descer por indução ad absurdum, através de uma formulação da ideia de que a solução de um problema NP depende de toda a informação, e não há dividir para conquistar nela, pelo menos na construção de aprendizagem. A própria polinomialidade deriva do fato que a aprendizagem é construtiva, e as duas construções básicas são adição de algoritmos, e chamada em loop, ou seja adição e multiplicação, e daí o polinômio em P, ou seja a explicação do porquê esta é exatamente a definição de eficiência e facilidade de solução). Notemos que as coisas básicas em matemática são de alguma forma sempre um processo discreto infinito: os primos, o limite, a computação, a lógica... E assim será também na aprendizagem, e na verdade, a aprendizagem é a razão para este fenômeno, porque ela está sob eles. E em qualquer caso, desta propriedade comum, deriva sua capacidade de lidar com eles, e romper em direção a um novo paradigma matemático, que está além da linguagem (que é o paradigma matemático atual). E então notaremos quanto o problema NP é na verdade um problema de aprendizagem (que foi conceituado erroneamente através de linguagem, e portanto se tornou um que não há linguagem que o adeque, ou capaz sequer de começar a capturar sua solução), e então não entenderemos por que não entendemos que conceituação através de aprendizagem é a direção natural de sua solução. Pois através da visão de aprendizagem, nós também vemos a semelhança de NP com evolução, onde aprendizagem é o mecanismo (cruzamento e mutação) que luta contra o teste de sobrevivência e aptidão, quando é muito difícil construir um ser vivo e inovar nele, e muito fácil verificar se ele sobrevive ou não. A biologia sempre está em posição de aprendizagem difícil diante da natureza cruel, que é fácil para ela julgar seus esforços. E aqui, no caminho para a aprendizagem, vemos que a beleza desempenha um papel no direcionamento, para que a biologia possa adivinhar através de atalhos quem é mais apto e quem menos. E assim também na matemática. Um critério difícil de prova anda de mãos dadas com um critério suave de beleza, que permite aos matemáticos fazer matemática e avançar na aprendizagem matemática, apesar de ser um problema difícil em princípio. E nosso pensamento também depende de movimentos bonitos. E assim também julgamos a philosophy-of-learning.


Filosofia da Teoria da Complexidade

Como é realizada a avaliação: se como parte da definição de aprendizagem há muitas camadas de avaliação ou apenas uma no final, como em NP, onde não é possível decompor em camadas de avaliação? Bem, os dois exemplos naturais de aprendizagem ajudam a entender o que é aprendizagem - o cérebro e a evolução - e neles há inúmeras camadas de avaliação, e na verdade em cada camada (ou geração) há uma avaliação da anterior (por isso as mulheres são a camada oculta - da rede - na evolução, ou seja, são o que torna cada geração uma rede profunda, como uma camada de avaliação interna entre entrada e saída, isto é, os filhos). Assim, da mesma forma, o limite e os naturais nos ajudam a entender o que é o conceito generalizado de aprendizagem na matemática, no domínio contínuo e no domínio discreto (e a aprendizagem do cérebro é contínua, enquanto a aprendizagem da evolução é discreta). Mas além dessa própria abstração, que reflete um conteúdo profundo comum a todas as partes da matemática (aprendizagem como conteúdo da matemática), também podemos procurar a aprendizagem como forma da matemática. O que está sob a própria matemática: como se aprende matemática. Por exemplo: definir um matemático. Hoje, é aceito que um algoritmo de aprendizagem deve ser polinomial. Mas a restrição de polinomialidade para o algoritmo que aprende não está correta no caso geral (matemático). Portanto nós, como seres humanos, como cérebros, fazemos muitas coisas para as quais temos um algoritmo eficiente, mas não temos aprendizagem geral eficiente, nem podemos ter. Em geral, a aprendizagem só é eficiente quando é muito limitada através do uso de coisas que aprendemos antes. E por isso temos a ilusão de que a aprendizagem é um processo eficiente, porque a maior parte de nossa aprendizagem é assim, mas o que caracteriza tal aprendizagem especial é que ela é a aprendizagem do conhecimento. E portanto a maior parte da aprendizagem em nosso mundo é aprendizagem de conhecimento, porque a aprendizagem de ação e algoritmo novos é sempre ineficiente. Então, o que é conhecimento? Quando há um algoritmo de aprendizagem eficiente. Esta é sua definição. Notemos que quase tudo que aprendemos são coisas que outros sabem fazer, ou seja, usamos funções prontas, e construímos a partir delas, e podemos decompor nossa aprendizagem em funções prontas. Portanto, na decomposição da aprendizagem para a construção das camadas que a criaram, é preciso pensar sobre a própria estrutura do espaço de todas as possíveis decomposições de um problema em subproblemas. Mas, toda definição de aprendizagem de um professor precisa superar o problema "dentro do sistema", ou seja, que a ajuda não seja programação do aluno de fora e trapaça e conluio entre eles, mas se a decomposição é uma decomposição máxima, ou seja, em pedaços muito pequenos, então isso é exatamente como programação. É possível caracterizar a decomposição ideal, como estando no meio entre decomposição absoluta em migalhas que equivale a programação (decomposição máxima) e problema NP (decomposição mínima, onde há apenas um teste no final e não há avaliações no meio)? Se não há professor, há desenvolvimento - como na evolução que constrói sobre algoritmos anteriores e como na matemática que constrói sobre provas anteriores, e então a divisão do problema em subproblemas é natural, porque não há quem a divida. A decomposição máxima é o algoritmo, como código escrito, e a mínima é o próprio problema, o avaliador - e no meio a aprendizagem é o que os conecta. Ou seja, essa transição do problema para o algoritmo é em si o processo de aprendizagem. Isto é: adicionar mais e mais divisões (quando é de cima para baixo, do ponto de vista do professor) ou mais e mais conexões de construção (quando é de baixo para cima, do ponto de vista do aluno), e quando há apenas aluno e não há professor isso é o desenvolvimento, que é natural. Solução polinomial significa que é possível decompor isso em subproblemas mais simples, ou seja, aprender. E portanto o que pode ser aprendido caracteriza o polinomial, e portanto aprendizagem é a construção que se adequa ao entendimento dos limites do polinomial (ou seja, o que o separa de NP). Pois a aprendizagem é a construção do polinomial a partir do linear, ou seja, do mínimo que simplesmente permite ler toda a entrada, e portanto os polinomiais são um grupo natural. E portanto devemos procurar uma decomposição mínima que seja aprendível, por exemplo decomposição mínima em subproblemas lineares, porque a decomposição máxima não interessa, pois é idêntica à escrita do código (e linear é claro que é apenas um exemplo dos blocos de aprendizagem mais básicos, no domínio algorítmico. E por exemplo, no ramo da teoria dos números, pode ser fatoração em produto. Ou qualquer outra função limitada, que define outros problemas em matemática). Portanto, em nossa definição de aprendizagem, poderemos assumir a escolha ideal de exemplos (para aprendizagem, pelo professor), assim como assumimos a decomposição mínima. O que aprende - e também o que ensina - não precisa ser limitado computacionalmente, mas é limitado construtivamente. E notemos também que toda essa estrutura de construção através de funções anteriores é muito mais parecida com o pensamento humano (por exemplo e da lógica e da linguagem e do cálculo e da percepção). Não sabemos como fazemos as coisas que sabemos fazer, mas sabemos fazer c-o-m e-l-a-s coisas. Aprender através delas. Mas não sabemos como aprendemos, é uma caixa preta. E todas as funções das quais compusemos em nossa aprendizagem podem ser para nós caixas pretas. Ou seja: há aqui duas partes na aprendizagem. Uma parte que define e caracteriza a estrutura que se quer aprender - ou a decomposição que se quer fazer do problema - que são as restrições sobre as funções: quais são as funções básicas e quais são suas conexões permitidas. E há aqui outra parte, que pergunta qual informação constrói essa construção específica dentre todas as possibilidades - que são os exemplos. Para evitar conluio entre professor e aluno é necessário que a construção seja feita em um algoritmo de aprendizagem específico, e não em qualquer algoritmo possível do aprendiz (para que não seja possível codificar dentro dos exemplos a solução)? Pode-se escolher afinal um algoritmo universal (não eficiente) assim, através da navalha de Occam, como a combinação mínima em comprimento que se adequa aos exemplos, ou talvez algum outro algoritmo de busca ingênuo. E então se cria uma árvore de decomposição do problema (a função aprendida) em subproblemas (que são subfunções), com os números de exemplos necessários para criar a conexão correta (a construção correta) de subfunções em cada bifurcação de ramos (o número de ramos é como o número de subfunções que constroem o ramo acima delas). E então talvez haja um trade-off entre a dimensão da decomposição (como a decomposição em subproblemas detalhada) e o número de exemplos. E então a árvore pode crescer ao infinito em um problema NP, ou quando os sub-blocos dos quais se constrói apenas aproximam a solução (como nos primos, que apenas aproximam primos grandes, porque eles não são suficientes para cobrir todos os naturais, porque há infinitos primos, e então pode-se avaliar quão completa e boa é a aproximação em relação ao número de primos - e esta é a questão de Riemann). E então através disso pode-se expressar problemas de impossibilidade de construção. Se você exige mínimo esforço do professor, e mínimo de exemplos, então se você já tem coisas que aprendeu, você exige o mínimo dos melhores exemplos para aprender a próxima coisa. E isso por si só reduz a complexidade da próxima coisa no processo de aprendizagem, porque por exemplo é melhor ensinar uma regra, e então em aprendizagem adicional a exceção. Portanto se existem para nós o aluno perfeito e o professor perfeito, perguntaremos como se parece a aprendizagem perfeita. Por exemplo, como o professor indica que se trata de um exemplo que é a exceção? (para que haja uma regra em geral, e não apenas um exemplo para a regra e um exemplo oposto - se eles são dados simultaneamente, ou seja, sem decomposição serial - o que pode até mesmo quebrar a regra, porque como você saberá qual dos exemplos é a regra e qual é a exceção)? Bem, ele não indica. Ele simplesmente primeiro ensina a regra. E então depois disso, na próxima camada de construção, depois que a regra foi aprendida, ele ensina a exceção. E então a coisa mais curta que o aprendiz pode fazer, assumindo que ele já tem uma função que é a regra, que ele já aprendeu, é simplesmente adicionar a ela uma exceção (em certos casos). E assim a decomposição pode economizar no número de exemplos. E a informação na decomposição pode permitir aprendizagem com menos informação, em certos casos, do que há mesmo no que se ensina (porque a informação na própria decomposição, que o professor dá na própria ordem do material de estudo, não é contada). Este é um estruturalismo de aprendizagem.


Filosofia da Aprendizagem Computacional

Então, você tem uma lista de funções/algoritmos/oráculos e você tem uma função que é uma combinação limitada deles, e você os aprende de exemplos que são escolhidos como os melhores, quando não há restrições computacionais sobre você. E nem sobre o professor. E a questão é qual é o mínimo de exemplos que é possível com uma decomposição do problema em subfunções/algoritmos, quando você aprende de acordo com a navalha de Occam (por exemplo de acordo com a complexidade do algoritmo, seu comprimento, ou outro critério de simplicidade). Se a decomposição vem de graça então olha-se para o número total de exemplos, e então a decomposição é máxima, ou seja, a aprendizagem é a mais gradual possível. Alternativamente, pode-se justamente olhar para a relação entre os exemplos e a decomposição (entre o número de exemplos necessários e o número de subproblemas na decomposição dada), que é claro que é uma relação inversa. Ou examinar diferentes topologias de diferentes árvores de decomposições do mesmo problema (de quantas maneiras essencialmente diferentes pode-se decompor o mesmo problema?). Nosso objetivo é construir a árvore de aprendizagem de uma forma que decompõe o problema em problemas de forma não trivial. Porque se olharmos para a decomposição mínima, quando a decomposição é cara e os exemplos são de graça, então obteremos uma decomposição trivial, ou seja, que não há decomposição, e voltamos ao problema original, que tem apenas um teste e exemplos, que se parece com NP. Portanto, também podemos olhar para todas essas possíveis decomposições, talvez infinitas em certas funções, e ver como elas próprias se desdobram uma da outra, e quais são as propriedades de florestas de tais árvores. E então encontrar uma forma canônica de decomposição, que é talvez em certa relação entre quantidade de decomposições e número de exemplos. No final das contas não são os exemplos que são interessantes ou seu número, mas as estruturas da árvore - qual é a decomposição de um algoritmo em subalgoritmos. Ou de um problema em subproblemas. Ou decomposição de um teorema em todas as provas possíveis (e sobre a própria matemática como um todo também pode-se pensar como um grafo de provas, que pode-se pesquisar como um grafo, e talvez encontrar conexões entre a estrutura desse grafo e estruturas matemáticas). E se a decomposição que o professor dá decompõe suficientemente em detalhes em subproblemas pequenos, então talvez haja um algoritmo eficiente para aprendizagem (ou seja para encontrar combinações de construção de acordo com os exemplos), e talvez até mesmo uma simples busca ingênua seja eficiente, porque o que é realmente difícil de encontrar é a decomposição. Mas se a decomposição resulta do número mínimo de exemplos (ou seja, que o número mínimo de exemplos não necessariamente requer decomposição máxima) então isso lhe dá poder (em ambos os sentidos). E daqui pode-se começar a pensar sobre todos os tipos de diferentes funções de combinação de subfunções, que criam diferentes problemas de construção, quando se limita o que é permitido na construção. Por exemplo: apenas combinação linear de funções que dará o exemplo que o professor deu, ou sistema de prova que provará como o exemplo de prova, ou aprender um grupo, que também é uma função simples (adição), e pode-se aprendê-lo com menos exemplos que todas as combinações de seus elementos se o decompomos em subproblemas, e talvez até mesmo haverá nos exemplos menos informação do que há nele (porque como dito o resto da informação se esconderá na decomposição). E então poderemos perguntar quanta informação exemplar há em um grupo, ou em qualquer outra estrutura matemática, e esta pode ser a definição de informação de aprendizagem (em contraste com linguística). Porque generalização de exemplos não é justificada, exceto com base no que já existe (as funções que você já aprendeu, ou seja, que foram apresentadas primeiro pelo professor na decomposição do problema em subproblemas, que são as funções mais simples, das quais você aprende algo mais complexo, como na aprendizagem de uma criança ou no desenvolvimento da evolução - e esta é uma propriedade fundamental da aprendizagem). Ou seja, há uma espécie de dica assim para usar o que você já aprendeu. O que você já sabe são seus priors. E em uma função contínua isso é extremo (pois você não pode complicá-la desnecessariamente, caso contrário nunca aprenderá nem mesmo funções simples, e você é obrigado à simplicidade primeiro, por causa da navalha de Occam). Portanto precisa-se da combinação mínima do que você sabe - que produz o novo exemplo que o professor deu. E se você é obrigado à simplicidade isso é imune a trapaça. Porque se há conluio (por exemplo se o professor codifica os pesos requeridos do aluno dentro do exemplo), então isso não atende à condição da navalha de Occam. O algoritmo é rejeitado porque ele não dá o mais simples. O aluno não pode escolher uma composição arbitrária mas sim a mais simples e mínima. Há um critério interno de simplicidade, que preenche o lado avaliador, feminino (camadas intermediárias de avaliação), e há também uma função de composição (que é diferente em cada aprendizagem de um tipo específico de estrutura matemática. Por exemplo: aprendizagem de grafos, aprendizagem de grupos, aprendizagem de funções contínuas - que podem ser construídas através de aproximações polinomiais ou alternativamente em transformada de Fourier e assim por diante, aprendizagem de algoritmos, aprendizagem de provas, aprendizagem de jogos, aprendizagem de topologias, aprendizagem de linguagens, etc.). E a informação que aparentemente se economiza, porque não é contada - é estrutural. Ou seja: tal que resulta da divisão estrutural (a decomposição), e portanto se não há estrutura alguma no que se aprende mas apenas ruído então a aprendizagem terá que ser transferência de toda a informação. Ou seja não é aprendizagem mas transferência de informação linguística.


Filosofia da Aprendizagem de Máquina

A questão básica aqui, que se repetiu ao longo de toda a história da matemática, é: como surge uma função? Talvez ela surja fisicamente na natureza (ontologia), talvez ela surja geometricamente (visão), talvez ela seja percebida (razão), talvez ela seja definida (lógica), talvez ela seja computada, e talvez ela seja aprendida. Ou seja: construída a partir de subfunções. E daí, das partes da definição de função, saem todas as principais áreas de pesquisa em aprendizagem atualmente na aprendizagem computacional. Quando não há na aprendizagem a origem da função (seu domínio, no jargão matemático) isso é aprendizagem por reforço (e então a simplicidade busca a origem mais simples que produzirá a função mais simples), e quando não há o alcance da função isso é aprendizagem não supervisionada (e então a simplicidade busca o alcance mais simples que produzirá a função mais simples). E quando a simplicidade da função é considerada não apenas pela construção de subfunções (quão complexa ela é) mas também por sua construção a partir dos próprios exemplos então esta é aprendizagem estatística (o tamanho da distância deles é parte do cálculo da simplicidade). A definição da aprendizagem tem como objetivo analisar o objeto matemático sendo aprendido - e encontrar sua estrutura interna. Seu objetivo é construí-lo - através de hierarquia (decomposição em subproblemas) e através de exemplos. Ou seja: através de dois tipos de informação estrutural, que permitem a combinação entre duas estruturas: de cima para baixo (vertical), e do lado (horizontal) - diferentes exemplos são diferentes possibilidades de composição paralelas, em cada nível, do andar de baixo. E portanto tudo na matemática se move entre falta de estrutura e excesso de estrutura. Muitos graus de liberdade e poucos demais. E portanto seus limites são aleatoriedade e complexidade extrema a ponto de não poder dizer algo significativo por um lado, e por outro lado estrutura simples e trivial demais e carente de informação e riqueza. Por isso sempre é preciso encontrar dentro dela o limite fractal - ali está a beleza. E ali também está o interesse matemático, pois ali se encontra a maior quantidade de informação aprendível, em contraste com informação aleatória e obscura (no sentido de que não pode ser decifrada), ou informação trivial e obscura (no sentido de que não há o que decifrar, pois é hermeticamente fechada). E por que estas são propriedades fundamentais da matemática? Porque tudo é aprendido, e a aprendibilidade é a raiz da estruturalidade, e também a raiz da complexidade da estruturalidade, pois esta nunca é uma estruturalidade unidimensional, mas bidimensional (o que a torna uma construção), como aquela que temos nos números (adição e multiplicação). E note-se que a simplicidade na aprendizagem definida acima é online, e não diante do todo como na navalha de Occam simples (MDL, Solomonoff, ou na complexidade de Kolmogorov). Ou seja: buscamos a hipótese mais simples após o primeiro exemplo, e então digamos que a tomamos (esta hipótese) como mais uma função pronta embaixo, e adicionamos a ela o próximo exemplo, e então buscamos a hipótese melhor e mais simples, considerando a hipótese anterior como uma que não tem custo, ou seja como simples. Ou seja: a função que já foi aprendida na primeira fase já não é contada na complexidade e no cálculo da simplicidade. E talvez até seja possível uma definição universal e simplista da função de simplicidade - simplesmente como o número de composições. Ou seja a simplicidade apenas como produto da ideia de composição, e não como medida e avaliação independente.


Filosofia da Matemática: Resumo

Com tudo isso, poderemos caracterizar novamente através da aprendizagem a diferença entre finito e infinito como a diferença entre aprendido e não aprendido, que cria um corte mais preciso entre estas duas categorias. Uma estrutura algébrica, finita, é sempre aprendida no final das contas. Enquanto uma categoria de estrutura infinita, contínua, só pode ser aprendida como um todo no limite, ou seja ela não é aprendida finitamente. A infinitude pode ser horizontal para o lado (no conjunto de exemplos em cada fase), ou vertical para cima (na composição) ou para baixo (no conjunto básico de funções do qual se começa em geral). E em tal visão, a continuidade e a simplicidade estão relacionadas. Tudo é finito mas pode ser aproximado. Ou seja: o limite pode não ser calculado, mas aprendido, reduzir distância. E se adicionarmos à função de medição da simplicidade uma aproximação (versus a precisão exigida na discretude, quando é obrigatório reproduzir os exemplos - e esta é na verdade a definição da discretude), então a ideia da derivada é a aproximação linear para a função (ou seja se só é permitida construção linear), e assim por diante (nas derivadas mais altas, que são camadas mais altas na aprendizagem, até a série). E a continuidade é uma derivada de ordem zero - constante. Ou seja, o que é simplicidade no cálculo infinitesimal? Simplicidade sobre os exemplos e não sobre a combinação (ou também sobre a combinação, como na regressão linear). E a integral é o problema inverso, o problema do professor: como encontrar uma função que fará com que a avaliação do aluno - sua aproximação - pareça como uma determinada função. E no mundo discreto, que é controlado pelos exemplos com precisão, encontramos problemas infinitos no que não pode ser aprendido até o fim, como os números primos (quando a composição permitida na construção é a multiplicação). E então pode-se perguntar por exemplo quão complexa é a árvore de composição dos naturais, em média (ou seja sua decomposição em primos, que é aprendida com o mínimo de exemplos). Entender como construir o conjunto dos naturais, quando a combinação é multiplicação, significa saber qual é a distribuição da quantidade de exemplos que o professor precisa dar, para construir os naturais até um certo número. Ou seja, há uma formulação de aprendizagem para as questões básicas na matemática - que permitirá a elas uma solução de aprendizagem, a partir do momento em que mudar o paradigma da linguagem que trava o progresso nestas questões, devido a um quadro conceitual inadequado. E assim a philosophy-of-learning pode ajudar a matemática - e a aprendizagem matemática.




Filosofia da Aprendizagem Computacional

O próximo estágio após a philosophy-of-learning da ciência da computação é a philosophy-of-learning da aprendizagem computacional. A situação da aprendizagem profunda hoje é como a situação do computador pessoal antes da internet. E o futuro é uma rede de internet de redes de aprendizagem profunda e de classificadores de aprendizagem de máquina, que estão conectados entre si por protocolo, e criam a capacidade de compô-los em uma construção de aprendizagem. Ou seja: conectar vários módulos de aprendizagem profunda, cada um especializado em algo, em algum sistema grande, que realmente sabe muitas coisas sobre o mundo, como o cérebro, e que não sejam apenas sistemas especialistas isolados que foram treinados segundo dados específicos. Uma rede de redes profundas assim será uma espécie de mercado, onde se paga um pouco de dinheiro em troca de um pouco de classificação, ou qualquer capacidade ou ação diferente, e se cria um ecossistema gigante de aprendizagem artificial. E ela será a introdução rumo à grande inteligência - e dela crescerá a inteligência artificial, e não de qualquer sistema específico - ela não surgirá um dia de alguma rede em algum laboratório, mas de dentro da rede. Quais serão as categorias naturais de tal inteligência? Assim como no mundo da computação, a máquina de Turing redefiniu a ideia de espaço como memória, ou seja como informação que ocupa lugar, e a ideia de tempo como operações em computação, ou seja como algo que leva tempo (e daí - a eficiência), assim a aprendizagem profunda os redefine. O que é espaço agora? Algo local, como em redes convolucionais, ou seja um sistema onde algo afeta coisas próximas a ele. E o que é tempo? Memória contínua, como em RNN, ou seja um sistema onde algo afeta coisas distantes dele. O mundo anterior, mundo da computação, reduziu a importância do espaço (porque tudo está na memória), e anulou suas dimensões naturais (a memória por natureza é unidimensional), e em contrapartida enfatizou justamente a dimensão do tempo e da velocidade. E aqui, no mundo da aprendizagem profunda, vemos que há justamente lugar para expandir a dimensão do tempo, que não será mais unidimensional, porque as coisas podem afetar de longe de várias direções - e em mais de uma dimensão. Certamente é possível uma rede de aprendizagem profunda com duas dimensões de tempo e mais, ou seja que está conectada na dimensão do tempo a cópias dela em mais de uma dimensão, e não apenas recursivamente para trás, mas recursiva em duas variáveis/direções e mais. Ou seja, se a computação foi uma temporalização do espaço (tudo, incluindo dinheiro, equivale a tempo), então a aprendizagem profunda pode ser uma espacialização do tempo (tudo será espaço, inclusive os tempos).


Filosofia da Aprendizagem Profunda

Do que é feita a aprendizagem profunda? Das duas coisas mais básicas e primitivas que se aprende em matemática, ou seja do primeiro semestre: de álgebra linear 1 e de cálculo 1. A álgebra linear é a composição, sobre a qual falamos (e ela é a composição mais simples que existe: combinação linear). E além disso existe também a derivada, que dá a direção, de acordo com o terceiro postulado netaniano (derivada é direção e portanto é a direção mais simples). Ou seja: o que faz a aprendizagem? Substitui os exemplos por direções. E o que torna a aprendizagem profunda? Que toda esta construção é feita dentro de um sistema. Esta é a profundidade do sistema (e o segundo postulado). E a aprendizagem já não está o tempo todo próxima à superfície do sistema, como na linguagem, no diálogo do sistema com os exemplos externos (no fundo da rede e em seu topo). E além disso, cada camada é feminina para a camada abaixo dela e masculina para a que está acima dela, segundo o quarto postulado netaniano. Ou seja vemos aqui a realização no campo de todos os postulados (e até mesmo o primeiro, se você percebe). Como uma profecia. E note-se também que há aqui dois elementos, que competem um com o outro ao longo de toda a história da aprendizagem: direção versus estrutura. Aqui nós os vemos na derivada do gradiente que inunda tudo em difusão para trás no tempo da aprendizagem (a direção) versus construção de um modelo específico (por exemplo a arquitetura específica da rede, que é determinada antecipadamente, mas ainda mais do que isso várias ideias que são menos populares hoje, como criar um modelo de aprendizagem específico com priors fortes para um problema específico, em vez da abordagem geral de rede profunda para todo problema). E tudo isso é apenas a encarnação contemporânea daquele mesmo velho problema de ambiente versus hereditariedade, e de empirismo versus racionalismo, e de Aristóteles versus Platão. Ou de competição livre e mão invisível (mundo da direção) versus socialismo e estado (mundo da estrutura), liberalismo versus conservadorismo, e evolução lamarckiana (no extremo direcional) versus design inteligente (no extremo estrutural). No nível matemático, a direção é contínua, e relacionada ao mundo da análise e geometria, versus a composição estrutural que é linguística, e relacionada ao mundo da álgebra e lógica. E a aprendizagem profunda é uma vitória tremenda da abordagem de aprendizagem da direção às custas da construção nesta dialética (mas ainda virá o movimento contrário), e ela é paralela à vitória do capitalismo e democracia (direção da comunicação e eleições versus a estrutura burocrática e governamental), ou dominação do hedonismo às custas da estrutura na sociedade. Porque na aprendizagem profunda parece que a estrutura é muito menos importante do que simplesmente muito feedback e direção (mas é claro que há aqui uma síntese, pois onde há uma hierarquia tão alta como na aprendizagem profunda? Só que parece que os detalhes da hierarquia são menos importantes, e na verdade tudo nela é determinado através da direção, e assim se cria para nós um mecanismo de aprendizagem bastante geral, que é uma espécie de tábula rasa empírica). Portanto, para entender o que é aprendizagem, talvez o que é necessário é tomar a relação entre os exemplos necessários para aprendizagem versus a doação de estrutura necessária, ou seja como isso muda (a relação entre eles). Quanto mais exemplos são necessários menos estrutura, e vice-versa. E entender como esta função se parece, e que esta é a investigação importante, e não se estrutura é mais ou menos importante que exemplos. Por exemplo se esta função é linear, se é polinomial, se é exponencial, e assim por diante, em diferentes domínios de problemas (por exemplo se aprendemos diferentes objetos matemáticos, e também em diferentes problemas na realidade). Ou seja, o que se deve perguntar é qual é a relação entre quantidade de exemplos e quantidade de priors. E este é o mesmo problema de variância versus viés, que está no coração da aprendizagem de máquina (mas menos no coração da aprendizagem profunda, após a grande vitória da variância contra o viés, com inúmeros parâmetros da aprendizagem profunda, que são muito mais numerosos que a quantidade de restrições).


Filosofia da Neurociência

Qual é a infraestrutura conceitual que permite em geral uma regra como a regra de Hebb (tão local, em contraste com a globalidade das redes profundas), que tende a feedback positivo ou negativo (uma propriedade fatalmente corrupta)? Como a regra de Hebb é sequer possível, como mecanismo básico de aprendizagem, que não tem qualquer relação nem com direções - nem com estrutura, nem com o exterior - nem com o interior? Bem, a regra de Hebb não é apenas "disparam e se conectam" (neurônios que disparam juntos se conectam juntos - os irmãos fire&wire), mas sua formulação verdadeira é que eu fortaleço a conexão de quem me previu, e enfraqueço de quem eu previ. Portanto, esta regra só faz sentido sob a premissa de que os neurônios são tanto principalmente transmissores de informação quanto avaliadores qualitativos independentes, e então esta regra cria reputação, e busca novidade, para difundi-la. Além disso ela cria camadas, pois é contra circularidade. Ela busca o primeiro a identificar, e portanto cria competição sobre quem será o primeiro a identificar, ou seja: ela é uma regra competitiva. Mas é preciso que nenhuma fonte única para um neurônio ultrapasse cinquenta por cento, ou pelo menos um limiar fixo, caso contrário é feedback circular positivo corrupto (além disso, é claro que esta regra sozinha não é suficiente, pois ela é autista, e precisa também de neurotransmissor que dá feedback externo, e provavelmente outras formas de feedback). Ou seja, a regra de Hebb só pode funcionar se você (como neurônio) tem capacidade de avaliação independente, e sugere tal capacidade (!). E então há competição por ela. Portanto ela é certamente lógica para uma rede social de seres humanos, até mais do que para uma rede de neurônios, aparentemente. Mas de qualquer olhada rápida no conectoma do cérebro, ou mesmo de uma única rede neural, parece que o cérebro vai muito muito longe em maneiras de criar desordem e diversidade e ruído e complexidade, talvez para não deixar a regra de Hebb convergir para trivialidade, e dar a ela materiais diversos, estocásticos, caóticos e instáveis o suficiente para trabalhar sobre eles. A regra de Hebb trata informação como conteúdo, e não como operação em computação (como na percepção da rede neural como um tipo de computador distribuído e paralelo). Ou seja, quando há muita redundância (como no cérebro, ou em muitos outros sistemas de aprendizagem) e todos estão na mesma linha, então é preciso escolher a mensagem correta, que você passa adiante com mudança com parâmetros relativamente pequenos, ou seja quando se trata mais de transmissão de informação e menos de computação. E neste contexto, toda a história da previsão de cima para baixo no cérebro (digamos: quando cada camada superior prevê aquela abaixo dela, e assim por exemplo eu prevejo os dados sensoriais que receberei), está provavelmente profundamente relacionada à regra de Hebb. Porque quem eu prevejo é redundante que eu escute. E se sim, há aqui um processo de adivinhação e convergência e menos de computação. Portanto deve-se substituir a palavra previsão por adivinhação. Em tal percepção, o cérebro opera através de computação de baixo (para cima) e adivinhação de cima (para baixo), e então há os pontos de conflito entre eles, ou camadas de conflito, e quem acertou (e adivinhou ou computou a continuação) vence ali o outro. Se cada camada superior diz o que deveria estar embaixo, e vice-versa, então a convergência deste processo permite encontrar a fonte do erro, que é o lugar de onde começa a avaliação incorreta a saltar, e ali há uma subida acentuada no problema. Ou seja ou o cálculo - subindo de baixo - se corrompeu neste lugar e se tornou incorreto, e então arrastou erro na continuação das camadas para cima, ou a adivinhação - descendo de cima - se corrompeu neste lugar e se revelou incorreta, e então arrastou erro na adivinhação em direção à continuação das camadas para baixo. Portanto, um neurônio verdadeiro é um avaliador de conteúdo, e não apenas avaliado. Porque ele decide a quem escutar. Ou seja ele é avaliado especificamente sobre cada conteúdo que ele transmite, e avalia especificamente cada conteúdo que ele recebe. Ele não teme um mecanismo de feedback positivo ou negativo infinito, onde ele escuta apenas um amigo e ninguém mais, porque ele ouve opiniões suficientes com ruído suficiente, e talvez haja também um limite para quanto ele escuta alguém (talvez seja logarítmico por exemplo). Ou seja nós vemos que cada neurônio pode ter não apenas feedback externo e direção de cima, mas também formas de medição intrínsecas para avaliação, tais como: se ele me prevê, e se ele se adequa à previsão de quem está acima de mim agora.O pensamento comum em aprendizado profundo é sobre as duas direções na rede como separadas, que vêm em duas etapas separadas: o cálculo (propagação para frente) de baixo para cima, e o feedback (propagação para trás) de cima para baixo. Mas podemos pensar neles também como ondas no sistema que avançam no tempo simultaneamente, assincronicamente e em ambas as direções, de acordo com sua intensidade, ou seja às vezes um certo avanço é interrompido em um neurônio insatisfeito, ou uma camada inteira assim, e começa a retornar feedback para trás, e vice-versa, e há retornos e ecos e um mar agitado, até que ele converge para um certo estado, e este é o mecanismo de cálculo verdadeiro da rede (e não apenas de baixo para cima). E assim tanto o treinamento quanto a execução/previsão não são duas etapas separadas, como se a retropropagação e a propagação para frente ocorressem em paralelo. E assim é provável que a coisa aconteça no cérebro. E se cada camada prevê a anterior, então às vezes o feedback será retornado até mesmo da camada de entrada, dos dados, o que não acontece hoje em aprendizado profundo, e é uma pena, porque estamos perdendo essa ressonância, e a informação no sinal de retropropagação desaparece e se perde quando chega à camada de entrada (não usamos essa informação para comparação com a entrada real). Mas se cada unidade de processamento recebe direção de cima, e emite de forma independente (e não apenas como parte da propagação para trás) direção para baixo, então no encontro entre baixo e cima o gradiente ou a avaliação que desce de cima encontra o que sobe de baixo, no cálculo que houve. E se há incompatibilidade então há um problema. Para ambos os lados. E se eles não concordam sobre em que direção o sinal deve mudar, então é preciso alertar a atenção para a incompatibilidade. E direcionar para ela os recursos do sistema, e assim pode-se notar novidades, ou surpresas, ou problemas. Por exemplo, no nível micro, se digamos que há um neurônio não aceito, cujos pesos dele em diante são próximos de zero, então ele recebeu com isso feedback negativo para se tornar uma função mais útil e interessante. E se ele recebe consistentemente feedbacks fortes contraditórios, então talvez ele precise se dividir em dois neurônios. E se as conexões de dois neurônios são muito similares, então talvez eles precisem se unir em um. Ou seja podemos desenhar a arquitetura de acordo com os feedbacks e incompatibilidades. E já no nível macro, isso permite ao sistema buscar surpresas, e exemplos nos quais errou na previsão do futuro, e isso é a curiosidade. Por exemplo, se uma camada de cima errou na previsão da que está abaixo dela, então continuamos a investigar exemplos similares, até chegar a uma solução. Porque o pensamento sistêmico mais correto é sobre uma rede que já aprendeu (muito). E então ela continua a aprender mais um exemplo, ou se depara com um exemplo novo que não se adequa ao passado. Ao contrário do pensamento hoje em que a rede começa a aprender do início todos os exemplos (pensamento infantil). E portanto, quando identificamos um problema, o espaço de busca dos parâmetros precisa funcionar como uma busca, e não apenas como uma otimização - mas exploração. E propor mais inovações - novas combinações. No momento em que há avaliação independente, onde uma camada julga a que está abaixo dela com ajuda de uma métrica própria, e não apenas segundo a direção que recebeu da que está acima dela (na propagação para trás), você pode também realizar busca, e reduzir o espaço de busca ao longo de todo o caminho (ou seja entre as diferentes camadas, e assim a busca não precisará explodir em infinitas combinações em força bruta). A primeira geração da pesquisa em inteligência artificial foi a busca (como paradigma algorítmico central, por exemplo em inferência lógica), e já hoje a inteligência artificial foge da busca como do fogo, e a substituiu por otimização (em ajuste de parâmetros contínuos e em estatística), mas no futuro haverá uma síntese entre eles. A busca também tem o que oferecer (e não apenas explodir), se a gerenciamos corretamente, e de fato muitas vezes no cérebro se realiza busca, assim como na evolução, porque esta é uma maneira que permite inovações mais criativas - com ajuda de combinação e avaliação dela. Afinal a própria philosophy-of-learning seria muito chata e bajuladora se ela fosse apenas otimização diante de sua função de avaliação, e seu ser busca é o que a torna difícil e interessante - e criativa, em sua luta diante de sua avaliação. E por que a evolução é mais rápida que busca por força bruta? O sucesso da evolução vem da própria capacidade de composição, ou seja no início a busca é com combinações simples, e depois, nas camadas seguintes, os passos de busca crescem, com combinações de partes complexas em si mesmas. E em cada estágio (ou seja camada) há avaliação independente do ser. Assim que isso não é força bruta porque os passos anteriores no aprendizado influenciam os passos seguintes, e os direcionam, e portanto a busca não é em todo o espaço de possibilidades, mas apenas em um feixe progressivo. Se assim for, o fenômeno da composição e das gerações (=camadas) é básico no aprendizado. Ou seja: tanto no aprendizado profundo quanto no cérebro quanto na evolução e quanto na definição do aprendizado geral, temos multiplicidade de componentes que são caixas pretas, e há entre eles conexões em construção (que é preciso caracterizar em cada caso particular: no aprendizado profundo combinações lineares com twist de não linearidade, na evolução - acasalamento, e assim por diante em outros sistemas). Para cima eles calculam uma função, com ajuda do abaixo. E já para baixo eles dão avaliação (por exemplo com ajuda de gradiente ou talvez escolha, por exemplo em parceiro, entende?).


Filosofia da Pesquisa de Redes

O que feedback cria? Em simplicidade, equações diferenciais parciais e equações recursivas, que são na verdade mecanismos de feedback, e daí os fenômenos de complexidade e caos. Por isso também no cérebro, e no aprendizado em geral, circuitos de feedback criarão fenômenos similares, que são portanto naturais ao aprendizado, e não falhas dele. Mas quais tipos de feedback existem? Existem mecanismos alternativos à propagação para trás de gradiente descent (=descida em declive, em otimização) na transferência para trás de avaliação. Por exemplo: aspiração à simplicidade (a avaliação é segundo medição de quão simples é, como segundo a navalha de Occam). Ou aspiração à novidade. Ou à variabilidade e diversidade (certa distribuição). Mas a característica mais importante do feedback não é segundo o que ele é, mas qual o tamanho do circuito que ele cria, porque esta é uma característica sistêmica. E aqui se destaca a fraqueza da propagação para trás, que cria um circuito de feedback gigante, que é muito artificial em um sistema grande - e muito lento. Uma alternativa mais razoável e portanto mais comum são loops de feedback curtos (não existe nenhum sistema de aprendizado no mundo fora de redes neurais artificiais que aprende em propagação para trás). Por exemplo no cérebro, existem muitas conexões que retornam para trás entre as camadas de neurônios, na direção oposta (que não existem em aprendizado profundo). O que falta hoje na compreensão do cérebro - e também no aprendizado profundo - é a ideia de competição, e de propagação de ideia em uma população (o que na verdade se adequa mais à regra b). Pois em cada etapa, competem no cérebro algumas possibilidades, algumas continuações de pensamento, e uma é escolhida. Ou seja existe competição por alguma avaliação, que escolhe como continuar o aprendizado. Ou seja: a maior importância do feedback é justamente na competição que ele cria (exatamente como na economia ou na democracia, a própria existência do feedback é o importante, mesmo se ele não é ideal). Mas em um circuito de feedback muito grande tudo isso se perde ou não é eficiente, em comparação com competição próxima em circuitos pequenos. Também no algoritmo PageRank do Google há hubs, que são avaliadores, e esta é na verdade sua essência - análise do grafo de modo que parte dos vértices na rede avaliam outros (e por sua vez são avaliados por eles). Tudo isso é muito similar a redes neurais, e assim se cria competição entre os sites pelo ranking, e em geral competição de qualidade na rede. E na ciência? Cada artigo cita outros, ou seja esta é a avaliação na rede, onde não há camadas mas todos estão conectados a todos. E as camadas são criadas segundo o tempo de publicação (cada artigo avalia aqueles que foram publicados antes dele). Ou seja temos aqui camadas que avaliam as que vieram antes delas, e são avaliadas por aquelas que vêm depois delas, e assim se cria a competição, com ajuda de um mecanismo de rede muito simples. Nestes dois casos não é preciso um circuito de feedback externo grande de fora para criar avaliação e competição, mas a avaliação neles é criada de dentro deles mesmos. Não precisamos necessariamente de avaliação externa forte como na evolução para criar competição, e esta é a chave para o aprendizado não supervisionado, que é o aprendizado dominante no cérebro, e a grande deficiência do aprendizado profundo, que necessita de uma quantidade enorme de exemplos (aliás, também na evolução a principal competição é pelo parceiro, ou seja sobre os circuitos de feedback pequenos, internos à espécie, e não contra a extinção grande). Assim vemos que justamente em redes onde não há avaliação externa clara, por exemplo no Facebook, no mercado de ações, e em encontros, e em artigos, ainda pode haver competição intensa. Em redes assim você recebe um número, como preço ou likes ou h-index ou pagerank e ranking no Google, e a direção sobre você. Este número não te dá direção alguma, mas apenas avaliação, e você precisa interpretá-lo e entender dele qual a direção para a qual você precisa mudar. E isto em contraste com o gradiente que te direciona no aprendizado profundo, que é uma direção que te é dada de cima. E talvez se possa argumentar que o domínio polinomial é o que tem nele direção mensurável, enquanto NP é a classe de problemas sem direção, e não derivável, mas caótica e não local. Por isso é preciso aprender de NP que avaliação não é suficiente para aprendizado. Apenas direção. Pois NP é exatamente este circuito de feedback gigante, de fora, que se revela não dar nada para o aprendizado dentro, que nos levará à solução. Não é possível derivar de tal avaliação uma direção. Será o polinomial o lamarckiano por turnos, ou seja passível de decomposição para otimização local, ou seja ele é construção+direção? No cérebro ainda não se sabe como funciona o aprendizado, mas na evolução sim, e vemos que também nela há uma característica chave: função de avaliação independente, que por causa disso há dois sexos. Ou seja mesmo que haja avaliação externa forte de vida e morte, para que o aprendizado funcione é preciso dentro do sistema também avaliação interna independente, de sexo. O circuito de feedback grande deve ser decomposto em circuitos de feedback pequenos e mais próximos, que não são apenas derivada, em ambos os sentidos, dele. Também em rede cultural/política/sociedade limitada/economia há funções de avaliação independente. Ou seja: há partes que esta é toda a função delas. E então há competição sobre ela, ou seja há duplicidade e redundância e diversidade e variância e comparação entre alternativas (caso contrário por que existe a redundância psíquica em todos os sistemas de aprendizado? Por que há tantos neurônios no cérebro e genes no genoma e organismos na espécie - e pessoas no estado). Se assim for, como funciona a avaliação interna? Como ela é avaliada em si mesma? Bem, existem simplesmente unidades de avaliação independentes dentro do sistema, que direcionam independentemente, e não apenas um circuito geral grande de feedback. Em geral, o feedback geral para o sistema é raro e caro, e por isso se apoiam em funções de avaliação secundárias. E simplesmente aprendem também as funções de avaliação. E o que acontece em NP? As avaliações secundárias não têm sucesso. Na verdade, toda a ideia de aprendizado por reforço de fora do sistema como algo que cria o aprendizado do sistema (por exemplo o behaviorismo) é um erro conceitual, cuja origem está em uma imagem filosófica simplista do aprendizado. Jamais temos feedback final, toda a conta ainda não acabou.


Filosofia das Redes Neurais

Como ainda ajudam as avaliações independentes, dentro do sistema, em contraste com a avaliação externa, que vem de fora do sistema para ensiná-lo? Porque é preciso também proteger o que você aprendeu antes de novo aprendizado que o apaga. E a avaliação interna protege o aprendizado que ela conduziu de ser lavado e desgastado por direções externas que lavam tudo (como na propagação para trás). Assim é possível fazer com que o novo feedback chegue apenas a algo novo, e seja canalizado para sua direção, e não para a direção de todo o antigo, e adicione - e não apague. O que permite a preservação da memória é justamente que não há aprendizado para trás. Por exemplo que isso não é lamarckiano, mas aprendizado de DNA, ou seja digital e não apenas analógico contínuo (que é todo desgastado com ajuda de derivada e convergência em otimização). E isso também permite a combinação. Quando as avaliações são independentes, o aprendizado vai para trás apenas uma camada de cada vez. Ali acontece a mágica, por exemplo da complexidade, simplesmente com ajuda de mais uma camada. Também na evolução - é sempre uma geração. A propagação para trás (back-propagation) é a raiz do mal, que transformou todo o campo do aprendizado profundo em força bruta, caixa preta e portanto em engenharia e não ciência. Todos os fenômenos problemáticos derivam dele. E não existe nenhum sistema natural que aprende assim. O catastrophic forgetting (o fenômeno em que uma rede profunda esquece o que aprendeu se lhe damos agora exemplos de outro tipo) e a incapacidade de conectar blocos de construção de forma boa em aprendizado profundo seriam evitados se tivéssemos escolhido um modelo como este que foi apresentado aqui no início, de professor e de construção. O esquecimento catastrófico é na verdade porque não há memória alguma, mas apenas ação ou aprendizado. Por isso é preciso memória que seja resistente ao aprendizado, ou seja: casos em que a rede decide que aprendeu algo útil, ou certo conceito, e guarda ele separadamente da continuação da mudança (ou desacelera muito em relação a ele a capacidade de mudança). Por isso é preciso uma maneira de fortalecer o que você fez e não apenas não mudá-lo, mas que haja um parâmetro de confiança para cada parâmetro, que se fortalece cada vez que você teve sucesso (ou seja quando não há quase derivada de mudança para direcionamento do parâmetro, que também isso é informação de valor, que vai hoje mais ou menos perdida, embora afete parcialmente em algoritmos de otimização de gradient descent, por exemplo no momentum). Lembrar é a capacidade de não aprender. Para aprender algo qualquer que perdure é preciso a capacidade de não aprender, e não ser influenciado por toda informação nova como um cata-vento de direções. Toda mudança no mecanismo de propagação para trás é muito mais fundamental que outras mudanças em aprendizado profundo, porque este é o método, mecanismo de aprendizado. E ali é possível corrigi-lo. E o papel da philosophy-of-learning é analisar esta análise profunda conceitual (o que ela quase não faz hoje, e por isso ninguém paga aos filósofos, apesar do valor enorme que eles podem fornecer).


A Filosofia do Aprendizado Profundo: Resumo

Portanto, o que é preciso é um modelo em que tudo o que desce para baixo (as avaliações) está conectado em uma rede de avaliação profunda, e há para cada camada nela saídas e entradas para o que acontece na rede profunda regular, ou seja para a camada paralela na rede que calcula, que sobe para cima. A entrada para a rede de avaliação da rede que calcula é output de uma camada da rede que calcula, que é transferido para a rede de avaliação - para sua avaliação. E já a saída da rede avaliadora para a rede que calcula é o output de sua avaliação - que é direção. Sim, isso é totalmente simétrico das duas direções. E portanto muito mais geral. Uma rede que sobe para cima e diante dela uma rede paralela completamente que desce para baixo. E no caso particular que ambas têm exatamente a mesma estrutura, então na verdade para cada neurônio há pesos duplos, para baixo e para cima, para atualização deles. Ou seja pode-se pensar nisso como uma rede (dupla de ação), mas talvez seja preferível dar à rede avaliadora independência na arquitetura, ou seja duas redes que fazem controle uma sobre a outra. E o que tudo isso diz para NP? A definição do aprendizado aqui é como decomposição em camadas de avaliador e avaliados, professor e alunos. E a questão é se existe tal decomposição, ou não, para o problema, onde todo algoritmo polinomial é tal decomposição. Ou seja, esta é uma definição diferente para aprendizado do que aquela que vimos que na philosophy-of-learning da ciência da computação, e é possível que ela seja mais adequada para tratar do problema fundamental destas ciências. E eu, já passei a fase na minha vida em que sou capaz de tomar estes pensamentos e transformá-los em formais - mas talvez você seja capaz.
Cultura e Literatura