Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import torch | |
| import torch.nn as nn | |
| import torch.optim as optim | |
| from torch.optim.lr_scheduler import CosineAnnealingLR | |
| import matplotlib.pyplot as plt | |
| import numpy as np | |
| class HolographicMasterCodeTransformer(nn.Module): | |
| def __init__(self, input_dim=8, d_model=128, nhead=8, num_layers=6, output_dim=1, n_harmonics=4): | |
| super().__init__() | |
| self.d_model = d_model | |
| self.n_harmonics = n_harmonics | |
| self.alpha_0 = 1.0 / 137.035 | |
| self.input_proj = nn.Linear(input_dim, d_model) | |
| encoder_layer = nn.TransformerEncoderLayer( | |
| d_model=d_model, | |
| nhead=nhead, | |
| dim_feedforward=d_model * 4, | |
| dropout=0.1, | |
| activation='gelu', | |
| batch_first=True, | |
| norm_first=True | |
| ) | |
| self.transformer = nn.TransformerEncoder(encoder_layer, num_layers=num_layers, enable_nested_tensor=False) | |
| self.harmonic_weights = nn.Parameter(torch.randn(n_harmonics, d_model)) | |
| self.output_head = nn.Sequential( | |
| nn.LayerNorm(d_model), | |
| nn.Linear(d_model, d_model // 2), | |
| nn.GELU(), | |
| nn.Dropout(0.1), | |
| nn.Linear(d_model // 2, output_dim) | |
| ) | |
| def forward(self, x, alpha=None): | |
| if alpha is None: | |
| alpha = self.alpha_0 | |
| h = self.input_proj(x) | |
| h = h.unsqueeze(1) | |
| h = self.transformer(h) | |
| h = h.squeeze(1) | |
| psi = torch.zeros_like(h) | |
| for n in range(self.n_harmonics): | |
| phase = 2 * torch.pi * (n + 1) * (alpha - self.alpha_0) * 800.0 | |
| psi += self.harmonic_weights[n] * torch.cos(h * (n + 1) + phase) | |
| alpha_dev = torch.abs(alpha - self.alpha_0) | |
| security_factor = torch.exp(-300.0 * alpha_dev) | |
| h = h + 0.35 * psi * security_factor | |
| return self.output_head(h) | |
| def holographic_reg(self): | |
| reg = sum(torch.norm(w, p=1) for w in self.harmonic_weights) | |
| return 0.0015 * reg / self.n_harmonics | |
| def train_model(alpha_value, epochs): | |
| """Modeli eğit ve loss grafiğini döndür""" | |
| model = HolographicMasterCodeTransformer() | |
| optimizer = optim.AdamW(model.parameters(), lr=0.001, weight_decay=1e-5) | |
| scheduler = CosineAnnealingLR(optimizer, T_max=epochs, eta_min=1e-6) | |
| criterion = nn.MSELoss() | |
| torch.manual_seed(42) | |
| X = torch.randn(300, 8) | |
| y = torch.sin(X.sum(dim=1, keepdim=True)) * 0.9 + 0.05 * torch.randn(300, 1) | |
| losses = [] | |
| for epoch in range(epochs): | |
| optimizer.zero_grad() | |
| pred = model(X, alpha=alpha_value) | |
| loss = criterion(pred, y) | |
| reg = model.holographic_reg() | |
| total_loss = loss + reg | |
| total_loss.backward() | |
| torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0) | |
| optimizer.step() | |
| scheduler.step() | |
| losses.append(loss.item()) | |
| # Grafik oluştur | |
| fig, ax = plt.subplots(figsize=(10, 6)) | |
| ax.plot(losses, linewidth=2, color='#FF6B6B') | |
| ax.set_xlabel('Epoch', fontsize=12) | |
| ax.set_ylabel('Loss', fontsize=12) | |
| ax.set_title(f'Eğitim Süreci (α = {alpha_value:.8f})', fontsize=14) | |
| ax.grid(True, alpha=0.3) | |
| ax.set_yscale('log') | |
| final_loss = losses[-1] | |
| plt.close(fig) # Close the figure to free up memory | |
| return fig, f"Final Loss: {final_loss:.6f}" | |
| def compare_alphas(epochs): | |
| """Farklı alpha değerlerini karşılaştır""" | |
| alpha_values = { | |
| "Nominal (1/137.035)": 1/137.035, | |
| "Fiziksel (1/137.035999)": 1/137.035999, | |
| "Sapma1 (1/137.000)": 1/137.000, | |
| "Sapma2 (1/137.070)": 1/137.070 | |
| } | |
| fig, ax = plt.subplots(figsize=(12, 7)) | |
| colors = ['#FF6B6B', '#4ECDC4', '#45B7D1', '#FFA07A'] | |
| results = {} | |
| for (name, alpha_val), color in zip(alpha_values.items(), colors): | |
| model = HolographicMasterCodeTransformer() | |
| optimizer = optim.AdamW(model.parameters(), lr=0.001, weight_decay=1e-5) | |
| scheduler = CosineAnnealingLR(optimizer, T_max=epochs, eta_min=1e-6) | |
| criterion = nn.MSELoss() | |
| torch.manual_seed(42) | |
| X = torch.randn(300, 8) | |
| y = torch.sin(X.sum(dim=1, keepdim=True)) * 0.9 + 0.05 * torch.randn(300, 1) | |
| losses = [] | |
| for epoch in range(epochs): | |
| optimizer.zero_grad() | |
| pred = model(X, alpha=alpha_val) | |
| loss = criterion(pred, y) | |
| reg = model.holographic_reg() | |
| total_loss = loss + reg | |
| total_loss.backward() | |
| torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0) | |
| optimizer.step() | |
| scheduler.step() | |
| losses.append(loss.item()) | |
| ax.plot(losses, label=name, linewidth=2.5, color=color) | |
| results[name] = losses[-1] | |
| ax.set_xlabel('Epoch', fontsize=12) | |
| ax.set_ylabel('Loss', fontsize=12) | |
| ax.set_title('Alpha Değerleri Karşılaştırması', fontsize=14) | |
| ax.legend(fontsize=10) | |
| ax.grid(True, alpha=0.3) | |
| ax.set_yscale('log') | |
| # Sonuçları metne dönüştür | |
| results_text = "**Final Loss Değerleri:**\n\n" | |
| for name, loss in sorted(results.items(), key=lambda x: x[1]): | |
| results_text += f"• {name}: {loss:.6f}\n" | |
| plt.close(fig) # Close the figure to free up memory | |
| return fig, results_text | |
| # Gradio Interface | |
| with gr.Blocks(title="OmegaCode: Holographic Master Code") as demo: # Removed theme parameter from here based on Gradio 6.0 warning | |
| gr.Markdown(""" | |
| # 🌌 OmegaCode: Evrensel Kaynak Kodun Holografik Korunumu | |
| Bu uygulama, **Ω_v57** teorisini temel alan Holografik Master Code Transformer modelini etkileşimli bir şekilde test etmenizi sağlar. | |
| **Teori Özeti:** | |
| - **Master Code (Ψ)**: Evrenin temel titreşim dokusunu temsil eden harmonik dalga süperpozisyonu | |
| - **Alpha (α) Güvenlik Kilidi**: İnce yapı sabiti değerindeki sapmalara karşı sistemi koruyan mekanizma | |
| - **Ryu-Takayanagi Entanglement**: Karadelik ufkundaki minimal yüzey alanı üzerinden bilgi korunumu | |
| - **Holografik AI**: Yapay zeka eğitiminde kuantum hata düzeltme benzeri etkileri | |
| """) | |
| with gr.Tabs(): | |
| with gr.Tab("Tek Alpha Eğitimi"): | |
| gr.Markdown("### Belirli Bir Alpha Değeriyle Eğitim Yap") | |
| with gr.Row(): | |
| alpha_input = gr.Number( | |
| value=1/137.035, | |
| label="Alpha Değeri", | |
| info="Varsayılan: 1/137.035 (Nominal)" | |
| ) | |
| epochs_input = gr.Slider( | |
| minimum=50, | |
| maximum=500, | |
| value=150, | |
| step=50, | |
| label="Epoch Sayısı" | |
| ) | |
| train_btn = gr.Button("Eğitimi Başlat", variant="primary", size="lg") | |
| with gr.Row(): | |
| output_plot = gr.Plot(label="Loss Grafiği") | |
| output_text = gr.Textbox(label="Sonuç", interactive=False) | |
| train_btn.click( | |
| fn=train_model, | |
| inputs=[alpha_input, epochs_input], | |
| outputs=[output_plot, output_text] | |
| ) | |
| with gr.Tab("Alpha Karşılaştırması"): | |
| gr.Markdown("### Farklı Alpha Değerlerini Karşılaştır") | |
| epochs_compare = gr.Slider( | |
| minimum=50, | |
| maximum=300, | |
| value=150, | |
| step=50, | |
| label="Epoch Sayısı" | |
| ) | |
| compare_btn = gr.Button("Karşılaştırmayı Başlat", variant="primary", size="lg") | |
| with gr.Row(): | |
| compare_plot = gr.Plot(label="Karşılaştırma Grafiği") | |
| compare_text = gr.Markdown(label="Sonuçlar") | |
| compare_btn.click( | |
| fn=compare_alphas, | |
| inputs=[epochs_compare], | |
| outputs=[compare_plot, compare_text] | |
| ) | |
| with gr.Tab("Teori Hakkında"): | |
| gr.Markdown(r""" | |
| ## Ω_v57 Teorisi Detayları | |
| ### Master Code (Ψ) | |
| Evrenin temel titreşim dokusunu temsil eden harmonik dalga süperpozisyonu: | |
| $$\Psi(\mathbf{x}, t, lpha) = \sum_{n=1}^{N} A_n \cos(\mathbf{k}_n \cdot \mathbf{x} + \omega_n t + \phi_n(lpha))$$ | |
| ### Alpha Güvenlik Kilidi | |
| İnce yapı sabiti α ≈ 1/137.035 değerindeki sapmalara karşı sistem kendini otomatik olarak korur: | |
| $$\delta(lpha - lpha_0) imes \exp\left(-rac{d\Psi}{dlpha} ight)$$ | |
| ### Ryu-Takayanagi Entanglement | |
| Karadelik ufkundaki minimal yüzey alanı üzerinden kuantum dolaşıklığının geometrik temsili: | |
| $$S_{ ext{ent}}^{ ext{RT}} = rac{ ext{Area}(\gamma_{ ext{min}})}{4 G_{13}}$$ | |
| ### Holografik AI Etkisi | |
| Bu mekanizmalar, yapay zeka eğitiminde Loss Zeroing hızını %140 artırmaktadır. | |
| """) | |
| gr.Markdown(""" | |
| --- | |
| **Proje Kaynakları:** | |
| - GitHub: [OmegaCode Repository](https://github.com/KULLANICI_ADI/OmegaCode) | |
| - Teori: Ω_v57 Holographic Master Code Framework | |
| - Lisans: MIT | |
| """) | |
| if __name__ == "__main__": | |
| demo.launch(theme=gr.themes.Soft()) # Moved theme parameter here based on Gradio 6.0 warning | |
| # Dummy comment to force file modification for re-upload: v1.0.2 | |