O auto-isolamento forçado tem estimulado muitos de nós a lembrar de nossos projetos favoritos ou apenas encontrar um hobby para nós mesmos. Alguém gosta de comunicação por rádio, alguém desenvolve caixas para o Raspberry. Bem, alguém está empenhado em cozinhar. Mas não é simples, mas com o envolvimento do aprendizado de máquina.
A desenvolvedora de aprendizado de máquina Sara Robinson decidiu assar o cupcake perfeito. Mas não por tentativa e erro - nossas avós fizeram isso, mas com a ajuda da tecnologia. Tudo começoude pegar 33 receitas diferentes de biscoitos, tortas e pães e construir um modelo TensorFlow para analisar todos esses dados. O primeiro objetivo era entender por que os produtos assados às vezes se esfarelam tanto e como isso pode ser evitado. Mas, no final, Sarah conseguiu uma receita do cupcake perfeito, que na verdade é um cruzamento entre um biscoito e uma torta. E também - uma receita para um híbrido de pão e biscoitos.
Do conjunto de dados à mesa da cozinha
Em dezembro de 2020, Sarah recrutou seu colega, um funcionário do Google chamado Dale Markovich, para o projeto. Juntos, eles desenvolveram uma receita híbrida. O modelo resultante permitiu determinar, pelos ingredientes introduzidos, qual seria o resultado - biscoitos, torta ou pão.
Depois que tudo deu certo, os desenvolvedores (é um pouco estranho usar esse termo quando aplicado a panificação, certo?) Decidiram ir mais longe. O projeto foi ampliado. Desta vez, 600 receitas foram selecionadas para análise. Eles foram cuidadosamente analisados para destacar os 16 ingredientes mais importantes que afetam a textura e a firmeza dos produtos assados, além, é claro, do sabor.
Esses ingredientes acabaram sendo:
- levedura,
- farinha de trigo,
- açúcar,
- ovos,
- gordura (qualquer óleo),
- leite,
- bicarbonato de sódio,
- fermento em pó,
- Vinagre de maçã,
- Soro de leite coalhado,
- banana,
- purê de abóbora,
- abacate,
- agua,
- óleo,
- sal.
Os autores do projeto, usando o novo modelo, compilaram não apenas uma lista de ingredientes, mas também determinaram as proporções corretas que ajudam a criar os produtos de panificação perfeitos.
Além disso, o modelo foi capaz de determinar de forma independente o tipo de assados, separando as
Para cada tipo de produto assado - biscoitos, torta ou pão, o modelo previu a quantidade e proporção ideais de manteiga, açúcar, fermento e ovos. E o modelo resultante possibilitou obter uma receita de pratos híbridos. Abaixo está uma foto de um híbrido de bolo e biscoito usando gotas de chocolate.
Código de amostra, modelo e serviço em execução
Quanto ao modelo TensorFlow, o código é bastante curto. A API Keras foi usada para o modelo .
model = tf.keras.Sequential([
tf.keras.layers.Dense(16, input_shape=(num_ingredients,)),
tf.keras.layers.Dense(16, activation='relu'),
tf.keras.layers.Dense(3, activation='softmax')
])
Usando Python, os desenvolvedores criaram uma função que converte os ingredientes de entrada primeiro nas unidades de medida familiares aos amantes de panificação (xícaras, colheres de chá etc.) e depois em porcentagens. Isso é o que acontece no final.
def get_prediction(request):
data = request.get_json()
prescaled = dict(zip(columns, data))
scaled = scale_data(prescaled)
# Send scaled inputs to the model
prediction = predict_json('gcp-project-name', 'baking', scaled)
# Get the item with the highest confidence prediction
predicted_ind = np.argmax(prediction)
label_map = ['Bread', 'Cake', 'Cookies']
baked_prediction = label_map[predicted_ind]
confidence = str(round(prediction[predicted_ind] * 100))
if baked_prediction == 'Bread':
emoji = "It's bread!"
elif baked_prediction == 'Cake':
emoji = "It's cake!"
elif baked_prediction == 'Cookies':
emoji = "It's cookies!"
return "{} {}% confidence".format(emoji, confidence)
Bem, o próprio aplicativo, ou melhor, um serviço da web, está disponível aqui . Então você pode tentar você mesmo.
Testes de teste
Um híbrido de torta e biscoitos
Outros desenvolvedores se interessaram pelo projeto, alguns decidiram testar os resultados do modelo na prática. Uma das receitas testadas é "torta de biscoito".
Os ingredientes e o procedimento de preparação foram seguidos. Por exemplo, um modelo mostrou que a temperatura ótima para o óleo adicionado é 18,33 ° C. Claro, ninguém seguia os décimos e centésimos de um grau, mas a condição de 18 ° C foi atendida.
A única coisa que precisava ser mudada era o tamanho da assadeira. Era necessário um formulário de 6 polegadas, mas não havia ninguém, então um de 9 polegadas foi usado. Em geral, depois que o "biscoito do bolo" era assado, ele podia esfriar um pouco e ser testado. De acordo com os testadores, a textura dos produtos assados era incomum, mas o sabor era excelente. Todos que tentaram fazer isso aprovaram.
Um híbrido de pão e biscoitos
A segunda receita experimentada e testada é "assados". Tive que mexer nele um pouco mais, mas no final tudo deu certo. A receita proposta pela modelo é dividida em duas partes - na verdade, pão e biscoitos. A massa acabou ficando muito mais espessa do que o normal para biscoitos, lembrando massa de pão.
Mas no final tudo acabou ficando uma delícia, a textura lembrava biscoitos de aveia, embora um pouco mais macia. O fermento foi usado na receita, por isso parece um pouco com pão.
De modo geral, o experimento teve sucesso - o aprendizado de máquina e o modelo preditivo ajudaram a criar pratos incomuns que agradaram a todos que os experimentaram.